Rest之路 - Rest架构中的重要概念
Posted TonyZhang24
tags:
篇首语:本文由小常识网(cha138.com)小编为大家整理,主要介绍了Rest之路 - Rest架构中的重要概念相关的知识,希望对你有一定的参考价值。
资源
在Rest的架构之内,讲一切内容都是为资源。每一个资源都被定义为一个URI。
格式: <protocol>://<service-name>/<ResourceType>/<ResourceID>
除此之外,URI的另一个关键部分为“VERB“, 一直对应我们也称他们为方法,通常有四种形式 -- GET/POST/PUT/UPDATE
关于资源的表述,Rest有多种形式的表述方式,其中以XML和JSON最为常用。
消息
Rest 采用HTTP协议作为client和server之间的传输媒介。 client 通过发送 HTTP Request 到 Server;Server 发送 HTTP Response 到 client。
为了方便理解,通过图文并茂的方式来解释一下 HTTP Request/Response.
以下部分摘自: https://www.tutorialspoint.com/restful/restful_messages.htm
HTTP Request
A HTTP Request has five major parts:
-
Verb- Indicate HTTP methods such as GET, POST, DELETE, PUT etc.
-
URI- Uniform Resource Identifier (URI) to identify the resource on server
-
HTTP Version- Indicate HTTP version, for example HTTP v1.1 .
-
Request Header- Contains metadata for the HTTP Request message as key-value pairs. For example, client ( or browser) type, format supported by client, format of message body, cache settings etc.
-
Request Body- Message content or Resource representation.
HTTP Response
A HTTP Response has four major parts:
-
Status/Response Code- Indicate Server status for the requested resource. For example 404 means resource not found and 200 means response is ok.
-
HTTP Version- Indicate HTTP version, for example HTTP v1.1 .
-
Response Header- Contains metadata for the HTTP Response message as key-value pairs. For example, content length, content type, response date, server type etc.
-
Response Body- Response message content or Resource representation.
Example
As we have explained in RESTful Web Services - First Application tutorial, Let‘s put http://localhost:8080/UserManagement/rest/UserService/users in POSTMAN with GET request. If you click on Preview button residing near send button of Postman and then click on Send button, you may see the following output.
Here you can see, the browser sent a GET request and received a response body as XML.
以上是关于Rest之路 - Rest架构中的重要概念的主要内容,如果未能解决你的问题,请参考以下文章
REST系列详解REST架构风格 —— 带你阅读Web发展史上的一个重要技术文献
SpringBoot系列十一:SpringBoot整合Restful架构(使用 RestTemplate 模版实现 Rest 服务调用Swagger 集成动态修改日志级别)