//提交用户信息 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返回码 和 错误码提示不冲突 比如你写了个函数,如果你觉得这个调用是错误的。你想发出异常,还是返回错误码?这个取决于你自己(虽然这个可以值得深入讨论)
 
      