diff --git a/servant/src/Servant/API.hs b/servant/src/Servant/API.hs index 21a81234..eabad7fd 100644 --- a/servant/src/Servant/API.hs +++ b/servant/src/Servant/API.hs @@ -130,7 +130,7 @@ import Servant.API.Verbs Patch, PatchAccepted, PatchNoContent, PatchNonAuthoritative, Post, PostAccepted, PostCreated, PostNoContent, PostNonAuthoritative, PostResetContent, Put, PutAccepted, - PutNoContent, PutNonAuthoritative, + PutCreated, PutNoContent, PutNonAuthoritative, ReflectMethod (reflectMethod), StdMethod (..), Verb) import Servant.API.WithNamedContext (WithNamedContext) diff --git a/servant/src/Servant/API/Verbs.hs b/servant/src/Servant/API/Verbs.hs index f6381602..b7d4c048 100644 --- a/servant/src/Servant/API/Verbs.hs +++ b/servant/src/Servant/API/Verbs.hs @@ -56,14 +56,17 @@ type Patch = Verb 'PATCH 200 -- Indicates that a new resource has been created. The URI corresponding to the -- resource should be given in the @Location@ header field. -- +-- If the operation is idempotent, use 'PutCreated'. If not, use 'PostCreated' +-- -- If the resource cannot be created immediately, use 'PostAccepted'. -- -- Consider using 'Servant.Links.safeLink' for the @Location@ header -- field. -- | 'POST' with 201 status code. --- type PostCreated = Verb 'POST 201 +-- | 'PUT' with 201 status code. +type PutCreated = Verb 'PUT 201 -- ** 202 Accepted