//提交用户信息 POST 方法 API: http://localhost:3000/api/usercus/{username} 那么,问题来了,如张三: http://localhost:3000/api/usercus/zhangsan 那我在提交的时候json里是否含有用户名这个参数。因为URL已经含有{username}字段了。 另外restful有什么好处。完全可以全部提交到http://localhost:3000这里通过参数判断
Restful最基本的原则是:url表示资源,METHOD表示动作。另外通过accesstoken来验证用户的身份。遵守restful约定之后,任何开发者都能快速理解API的结构和意图。 http://localhost:3000/api/usercus/zhangsan 这个链接应该代表的是zhangsan的信息表,通过json提交要修改的用户信息,再用accesstoken验证用户权限。 restful 只是一种约定,就像写代码一样有个代码规范,这样大家都能看懂。 把全部请求提交到http://localhost:3000理论上是可行的,问题是这样的API理解起来费劲,用起来也费劲,恐怕这样的API也只有作者会用
StatusContinue = 100
StatusSwitchingProtocols = 101
StatusOK = 200
StatusCreated = 201
StatusAccepted = 202
StatusNonAuthoritativeInfo = 203
StatusNoContent = 204
StatusResetContent = 205
StatusPartialContent = 206
StatusMultipleChoices = 300
StatusMovedPermanently = 301
StatusFound = 302
StatusSeeOther = 303
StatusNotModified = 304
StatusUseProxy = 305
StatusTemporaryRedirect = 307
StatusBadRequest = 400
StatusUnauthorized = 401
StatusPaymentRequired = 402
StatusForbidden = 403
StatusNotFound = 404
StatusMethodNotAllowed = 405
StatusNotAcceptable = 406
StatusProxyAuthRequired = 407
StatusRequestTimeout = 408
StatusConflict = 409
StatusGone = 410
StatusLengthRequired = 411
StatusPreconditionFailed = 412
StatusRequestEntityTooLarge = 413
StatusRequestURITooLong = 414
StatusUnsupportedMediaType = 415
StatusRequestedRangeNotSatisfiable = 416
StatusExpectationFailed = 417
StatusTeapot = 418
StatusPreconditionRequired = 428
StatusTooManyRequests = 429
StatusRequestHeaderFieldsTooLarge = 431
StatusUnavailableForLegalReasons = 451
StatusInternalServerError = 500
StatusNotImplemented = 501
StatusBadGateway = 502
StatusServiceUnavailable = 503
StatusGatewayTimeout = 504
StatusHTTPVersionNotSupported = 505
StatusNetworkAuthenticationRequired = 511
@fangker get http://localhost:3000/api/usercus/ get http://localhost:3000/api/usercus/zhangsan 这两个语意不一样
还有http返回码 和 错误码提示不冲突 比如你写了个函数,如果你觉得这个调用是错误的。你想发出异常,还是返回错误码?这个取决于你自己(虽然这个可以值得深入讨论)