我一直在研究如何实现以下内容:
我正在开发一个RESTful Web (使用.Net Core2.2)。我需要创建一个端点,在该端点中,消费客户端可以向API发送一些文本,API替换文本中的一些标记,并将文本返回给消费客户端。
我认为客户机应该简单地做一个GET请求,文本在正文中。然后,答复将是令牌替换后的新文本。然而,从我的研究来看,似乎不应该在GET请求的主体中坚持任何语义的东西。我不确定带有需要被API替换的特定标记的任意文本是否具有语义性?我还看到它在“您不应该能够使用GET请求的主体来更改响应”。我想我在那里有麻烦了,因为这取决于他的身体,会影响反应。
所以,我一直在努力找出正确的方法。如果有人有指点的话,我会非常感激的。
谢谢。
发布于 2019-03-11 12:39:52
我认为客户机应该简单地做一个GET请求,文本在正文中。然后,答复将是令牌替换后的新文本。然而,从我的研究来看,似乎不应该在GET请求的主体中坚持任何语义的东西。
GET请求消息中的有效负载没有定义的语义;在GET请求上发送有效负载体可能会导致一些现有实现拒绝该请求。
在基本HTTP中,您有选择。一种是在URI本身中包含文档的表示形式。
/?your_document_as_a_query_string
/your/document/as/path/segments对于简短的文档,这种方法可能很好;但是不需要实现来支持无限长的标识符,因此您可能会发现中间组件拒绝您的请求,或者在传输中裁剪URI。
实现目标的一种安全机制是使用POST,而不是GET。POST支持消息体,因此您可以将空白表单发送到服务器,并在响应中接收回已编辑的版本。
POST是HTTP的通配符方法,它可以表示任何东西。在规范中,响应包括的主体“表示动作的状态或结果”。
您还可以考虑响应复制请求主体的许多内容,并考虑从服务器获取模板值的映射,然后在客户机上应用模板。
https://stackoverflow.com/questions/55098400
复制相似问题