I agree with this modification. It’s right to make the API more usable. In the new APIs, we need to add a prefix like v1 v2 for backward compatibility:
> curl -X POST http://127.0.0.1:9090/v2/apisix/admin/routes Thanks, Ming Wen, Apache APISIX PMC Chair Twitter: _WenMing Zhiyuan Ju <juzhiy...@apache.org> 于2021年7月21日周三 上午9:19写道: > Hi, > > Any update on this discussion? > > Best Regards! > @ Zhiyuan Ju <https://github.com/juzhiyuan> > > > Zhiyuan Ju <juzhiy...@apache.org> 于2021年7月9日周五 下午10:11写道: > > > Hi, Community, > > > > As an API Gateway project, I would like to propose a RESTful modification > > of current APIs. > > > > This mail is used to discuss the current status of ManagerAPI, here is an > > example: > > > > Request: > > ```sh > > $ curl -X POST http://127.0.0.1:9090/apisix/admin/routes -d {DATA} > > ``` > > > > Response: > > ```json > > { > > "code": 0, > > "request_id": "", > > "message": "", > > "data": {} > > } > > ``` > > > > There have 4 problems: > > 1. The Request URL contains the "/apisix/admin" prefix, which preserves > > the Admin API style. Should we omit this prefix and have Manager's > RESTful > > APi? > > 2. Response Body contains code, message, request_id, data fields, and the > > client will take more care of "data" field, while the other fields are > > auxiliary and can be replaced with HTTP Status Code. As for the 400 > > parameter error status code, we could use a special errMessage field for > > error description. > > 3. We don't maintain the `code` filed, we don't know what it should be in > > different cases. > > 4. The data field will contain all request body's data in some APIs, I > see > > GitHub also using this way for API call-chain. (Not a problem IMO) > > > > What to do next? > > 1. List all APIs; > > 2. Proposal which part we should change for every API; > > 3. Have the final agreement. > > > > What's your opinion? > > > > Reference > > - GitHub: https://docs.github.com/en/rest/reference > > - Stripe: https://stripe.com/docs/api > > - MDN: https://developer.mozilla.org/zh-CN/docs/Web/HTTP/Status > > > > Best Regards! > > @ Zhiyuan Ju <https://github.com/juzhiyuan> > > >