首页
学习
活动
专区
圈层
工具
发布
社区首页 >问答首页 >for RESTful API

for RESTful API
EN

Stack Overflow用户
提问于 2019-03-11 09:08:12
回答 1查看 8.8K关注 0票数 3

我一直在研究如何实现以下内容:

我正在开发一个RESTful Web (使用.Net Core2.2)。我需要创建一个端点,在该端点中,消费客户端可以向API发送一些文本,API替换文本中的一些标记,并将文本返回给消费客户端。

我认为客户机应该简单地做一个GET请求,文本在正文中。然后,答复将是令牌替换后的新文本。然而,从我的研究来看,似乎不应该在GET请求的主体中坚持任何语义的东西。我不确定带有需要被API替换的特定标记的任意文本是否具有语义性?我还看到它在“您不应该能够使用GET请求的主体来更改响应”。我想我在那里有麻烦了,因为这取决于他的身体,会影响反应。

所以,我一直在努力找出正确的方法。如果有人有指点的话,我会非常感激的。

谢谢。

EN

回答 1

Stack Overflow用户

回答已采纳

发布于 2019-03-11 12:39:52

我认为客户机应该简单地做一个GET请求,文本在正文中。然后,答复将是令牌替换后的新文本。然而,从我的研究来看,似乎不应该在GET请求的主体中坚持任何语义的东西。

RFC 7231

GET请求消息中的有效负载没有定义的语义;在GET请求上发送有效负载体可能会导致一些现有实现拒绝该请求。

在基本HTTP中,您有选择。一种是在URI本身中包含文档的表示形式。

代码语言:javascript
复制
/?your_document_as_a_query_string
/your/document/as/path/segments

对于简短的文档,这种方法可能很好;但是不需要实现来支持无限长的标识符,因此您可能会发现中间组件拒绝您的请求,或者在传输中裁剪URI。

实现目标的一种安全机制是使用POST,而不是GET。POST支持消息体,因此您可以将空白表单发送到服务器,并在响应中接收回已编辑的版本。

POST是HTTP的通配符方法,它可以表示任何东西。在规范中,响应包括的主体“表示动作的状态或结果”。

您还可以考虑响应复制请求主体的许多内容,并考虑从服务器获取模板值的映射,然后在客户机上应用模板。

票数 5
EN
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/55098400

复制
相关文章

相似问题

领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档