正如您所指出的,在REST中,POST方法被认为是创建新资源。在你的情况下,即使你不保存在服务器上,也会通过发布内容来生成新的资源“消息”。
但是您在模板上使用POST!这应该创建一个新的模板。要解决此问题,请将一个子资源添加到模板资源,以便表示它是创建的消息。
我甚至会在“v1”后面添加一个“模板”来扩展URL,以便更明确地表明它是第一级的“模板”资源。
的唯一必要对这种变化将改变这样的网址:
URL pattern = /messagegenerator/v1/template/<templateID>/message
所以你可以有(即使你现在不执行的话):
GET on /messagegenerator/v1/template/ -> Deliver a list of templates
POST on /messagegenerator/v1/template/ -> Create a new template
DELETE on /messagegenerator/v1/template/<templateID> -> Remove a template
PUT on /messagegenerator/v1/template/<templateID> -> Modify a template
GET on /messagegenerator/v1/template/<templateID>/message -> Deliver a list of messages
POST on /messagegenerator/v1/template/<templateID>/message -> Create a new message
DELETE on /messagegenerator/v1/template/<templateID>/message/<messageID> -> Remove a message
PUT on /messagegenerator/v1/template/<templateID>/message/<messageID> -> Modify a message
所以你如果您保存并为其分配ID,则甚至可以管理并返回旧邮件!
这并没有真正回答这个问题,而是关于使用GET的可能性。 –