我正在为我们的应用程序开发一个新的RESTful Web服务.
在某些实体上执行GET时,客户端可以请求实体的内容.如果他们想要添加一些参数(例如排序列表),他们可以在查询字符串中添加这些参数.
或者,我希望人们能够在请求正文中指定这些参数. HTTP/1.1似乎没有明确禁止这一点.这将允许他们指定更多信息,可以更容易指定复杂的XML请求.
我的问题:
我使用 Visual Studio 向 AWS 发布了一个 api,并使用 AWS 无服务器应用程序项目的模板,现在我正在使用邮递员测试这些方法,但是所有需要主体的 get 方法都返回一个错误,在响应中提到了 cloudfront,我这样做不知道该问题是否与 cloudfront 相关,或者是否是 AWS HTTP 1.1 规范实现不允许带有正文的 get 请求:
注意:获取带有正文的请求是我们客户的要求
RFC 7231 HTTP/1.1 规范说明如下: GET 请求消息中的有效载荷没有定义的语义;在 GET 请求上发送有效负载正文可能会导致某些现有实现拒绝该请求。
<HEAD>
<META HTTP-EQUIV="Content-Type" CONTENT="text/html; charset=iso-8859-1">
<TITLE>ERROR: The request could not be satisfied</TITLE>
</HEAD>
<BODY>
<H1>403 ERROR</H1>
<H2>The request could not be satisfied.</H2>
<HR noshade size="1px">
Bad request.
<BR clear="all">
<HR noshade size="1px">
<PRE>
Generated by cloudfront (CloudFront)
Request ID:
</PRE>
<ADDRESS></ADDRESS>
</BODY>
</HTML>
Run Code Online (Sandbox Code Playgroud)
所以我的问题是: