Why isn't SOAP-based web service RESTful?

后端 未结 7 1497
无人及你
无人及你 2021-01-29 20:54

I understand RESTful is an architecture style, but what exactly makes SOAP-based web service not count for RESTful?

It\'s not clear to me which points below (from Wikipe

7条回答
  •  陌清茗
    陌清茗 (楼主)
    2021-01-29 21:09

    SOAP Protocol: SOAP is a protocol which means that it has a defined structure to it.

    1. POST : The SOAP request always requires a HTTP body, hence the HTTP method is POST. More about HTTP Methods in a future POST (these are very relevant in REST), but for now lets assume this is always POST in case of SOAP
    2. SOAP Action : Empty means, intent in HTTP Request URI.
    3. Content-Type : SOAP uses XML as the language for communication and hence this is always text/xml
    4. with the XML Namespace (xmlns) is required to indicate that this is a SOAP Request.
    5. is the root SOAP element which describes the Request and Response.

    RESTful API Design involves breaking the system in terms of resources, and providing access to those resources through endpoints (also called operations) defined on the web service's base uris. Access is done using standard HTTP Methods and controlled by an auth mechanism. Configuration for the resource is provided and obtained through request and response with HTTP status codes communicating the status. 1. Resources are the entities that exist in the system being made RESTful. For instance, in case of a blogging website, these can be the blogs, posts and comments. 2. EndPoints or operations provide a mechanism through which these resources can be accessed. For instance, the endpoint to list all the blog posts on a particular blog would be a GET on /blogs/{blogId}/posts. 3. Base URIs define the web uri location where the resources are available through the endpoints. To take a real example, for Google blogger the base_uri is https://www.googleapis.com/blogger/v3. 4. HTTP Methods is where the simplicity of REST lies. In RESTful API design, operations on resources are done through the standard HTTP methods, primarily GET, POST, PUT and DELETE . Other HTTP methods - OPTIONS, HEAD, PATCH are also used in some cases.

提交回复
热议问题