RESTful编程到底是什么?

RESTful编程到底是什么?

RESTful编程到底是什么?



慕后森
浏览 843回答 4
4回答

Qyouu

对基本资源的请求/可能会返回如下内容:请求GET / Accept: application/json+userdb反应200 OK Content-Type: application/json+userdb {     "version": "1.0",     "links": [         {             "href": "/user",             "rel": "list",             "method": "GET"         },         {             "href": "/user",             "rel": "create",             "method": "POST"         }     ] }我们从媒体的描述中得知,我们可以从称为“链接”的部分找到有关相关资源的信息。这叫做超媒体控件。在这种情况下,我们可以从这样的部分判断,我们可以通过发出另一个请求来找到一个用户列表。/user:请求GET /user Accept: application/json+userdb反应200 OK Content-Type: application/json+userdb {     "users": [         {             "id": 1,             "name": "Emil",             "country: "Sweden",             "links": [                 {                     "href": "/user/1",                     "rel": "self",                     "method": "GET"                 },                 {                     "href": "/user/1",                     "rel": "edit",                     "method": "PUT"                 },                 {                     "href": "/user/1",                     "rel": "delete",                     "method": "DELETE"                 }             ]         },         {             "id": 2,             "name": "Adam",             "country: "Scotland",             "links": [                 {                     "href": "/user/2",                     "rel": "self",                     "method": "GET"                 },                 {                     "href": "/user/2",                     "rel": "edit",                     "method": "PUT"                 },                 {                     "href": "/user/2",                     "rel": "delete",                     "method": "DELETE"                 }             ]         }     ],     "links": [         {             "href": "/user",             "rel": "create",             "method": "POST"         }     ] }从这个反应中我们可以看出很多。例如,我们现在知道我们可以通过以下方式创建一个新用户POST使./user:请求POST /user Accept: application/json+userdb Content-Type: application/json+userdb {     "name": "Karl",     "country": "Austria" }反应201 Created Content-Type: application/json+userdb {     "user": {         "id": 3,         "name": "Karl",         "country": "Austria",         "links": [             {                 "href": "/user/3",                 "rel": "self",                 "method": "GET"             },             {                 "href": "/user/3",                 "rel": "edit",                 "method": "PUT"             },             {                 "href": "/user/3",                 "rel": "delete",                 "method": "DELETE"             }         ]     },     "links": {        "href": "/user",        "rel": "list",        "method": "GET"     } }我们还知道,我们可以改变现有的数据:请求PUT /user/1 Accept: application/json+userdb Content-Type: application/json+userdb {     "name": "Emil",     "country": "Bhutan" }反应200 OK Content-Type: application/json+userdb {     "user": {         "id": 1,         "name": "Emil",         "country": "Bhutan",         "links": [             {                 "href": "/user/1",                 "rel": "self",                 "method": "GET"             },             {                 "href": "/user/1",                 "rel": "edit",                 "method": "PUT"             },             {                 "href": "/user/1",                 "rel": "delete",                 "method": "DELETE"             }         ]     },     "links": {        "href": "/user",        "rel": "list",        "method": "GET"     } }注意,我们使用的是不同的HTTP谓词(GET, PUT, POST, DELETE(等等)为了操纵这些资源,我们认为客户所掌握的唯一知识就是我们的媒体定义。

白衣非少年

这就是它看起来的样子。创建一个具有以下三个属性的用户:POST&nbsp;/user fname=John&lname=Doe&age=25服务器响应:200&nbsp;OK Location:&nbsp;/user/123将来,您可以检索用户信息:GET&nbsp;/user/123服务器响应:200&nbsp;OK <fname>John</fname><lname>Doe</lname><age>25</age>若要修改记录(lname和age将保持不变):PATCH&nbsp;/user/123 fname=Johnny更新记录(因此lname和age将为空):PUT&nbsp;/user/123 fname=Johnny
打开App,查看更多内容
随时随地看视频慕课网APP