我需要识别restapi';问题

我需要识别restapi';问题,api,rest,wordpress-rest-api,restapi,Api,Rest,Wordpress Rest Api,Restapi,API 1:下面是一个非常糟糕的REST API,它接受用户id并返回用户详细信息。确定这方面的3个问题 REQUEST: POST /getUsers/1 RESPONSE: status: 200 [ { "id": "1", "name": "John Doe" } ] API 2:以下表示验证错误的API响应有什么问题 RESPONSE status: 500 { "code": &

API 1:下面是一个非常糟糕的REST API,它接受用户id并返回用户详细信息。确定这方面的3个问题

REQUEST:
POST /getUsers/1

RESPONSE: status: 200

[
{
"id": "1",
"name": "John Doe"
}
]
API 2:以下表示验证错误的API响应有什么问题

RESPONSE status: 500
{
"code": "bad.request",
"message": "request.query.limit should be <= 100",
"timestamp": "2019-08-22T06:00:00.000Z",
}
响应状态:500
{
“代码”:“错误的请求”,
“消息”:“request.query.limit应API 1:

  • 它应该是GET请求,因为您正在获取用户数据,而不是用于创建新资源的POST
  • 端点URI应该被重新构造为类似于
    /users/:id
    。URI中的“getUser”对于RESTful API是一种不好的命名实践(CRUD操作应该在HTTP请求方法(例如,在本例中是GET方法)中指定,而不是在URI中指定。)
  • 响应体包含一个json对象数组,它应该是json对象的json
  • API 2:


    根据错误代码和消息,此错误是一个错误请求错误,应返回HTTP状态代码400。错误请求错误是由客户端引起的;而500错误是一个内部服务器错误,适用于服务器出现故障时。

    API 1应为GET,而不是POST,它应返回一个对象,而不是arra如果只是获得一个用户,则为y。API 2的状态代码应为400,而不是500。这不是一个家庭作业解决服务。对于2)而言,这实际上是胡说八道。在真正的REST环境中,构成URI的字符可能对客户端毫无意义,也可能对客户端毫无意义,因为这只会邀请客户端程序员。如果是,则媒体类型为n这些示例中缺少egotiated。最后一点在某种程度上也解决了您的问题,因为响应格式取决于协商的媒体类型。如果您愿意,您甚至可能会争论响应中是否需要ID或类似的错误代码,
    429太多的请求
    可能更合适。请继续此外,如果你回答了明显的家庭作业问题,请先多做一些研究,而不是随意地发出错误,那么坚持使用可用的表示格式,例如。请