REST asks developers to use HTTP methods explicitly and in a way that's consistent with the protocol definition. This basic REST design principle establishes a one-to-one mapping between create, read, update, and delete (CRUD) operations and HTTP methods. According to this mapping:
GET = Retrieve a representation of a resource
POST = Create if you are sending content to the server to create a subordinate of the specified resource collection, using some server-side algorithm.
PUT = Create if you are sending the full content of the specified resource (URI).
PUT = Update if you are updating the full content of the specified resource.
DELETE = Delete if you are requesting the server to delete the resource
PATCH = Update partial content of a resource
OPTIONS = Get information about the communication options for the request URI
Usage
Without Go Modules
All versions up to v2.*.* (on the master) are not supporting Go modules.
Routes for request → function mapping with path parameter (e.g. {id} but also prefix_{var} and {var}_suffix) support
Configurable router:
(default) Fast routing algorithm that allows static elements, google custom method, regular expressions and dynamic parameters in the URL path (e.g. /resource/name:customVerb, /meetings/{id} or /static/{subpath:*})
Routing algorithm after JSR311 that is implemented using (but does not accept) regular expressions
Request API for reading structs from JSON/XML and accessing parameters (path,query,header)
Response API for writing structs to JSON/XML and setting headers
Customizable encoding using EntityReaderWriter registration
Filters for intercepting the request → response flow on Service or Route level
Request-scoped variables using attributes
Containers for WebServices on different HTTP endpoints
Content encoding (gzip,deflate) of request and response payloads
请发表评论