为什么 PayPal REST API 需要 Content-Type 用于 content-less(无实体)POST 请求?
Why does PayPal REST API require a Content-Type for content-less (no entity) POST requests?
使用PayPal RESTAPI,取消授权只需要POST
到/v1/payments/authorization/<Authorization-Id>/void
,没有任何实际内容。由于 HTTP 实体为空,我没想到需要 Content-Type
header 并将其设置为 application/json
。如果我不设置它,我的请求将被拒绝。当我使用 Spring 的 RestTemplate
和 Jackson 映射时,提供 null
请求不会设置 Content-Type
,现在我不得不自己设置它。
您认为这个限制是合法的还是一个错误?
对我来说,没有body=没有内容=没有content-type.
我们将 POST
要求的 content-type
保持为一般性的兴趣是为了将来的向后兼容性。如果我们在未来添加新的媒体类型,我们不想假设您的内容是什么(尽管今天几乎 application/json)。
对于 void
,如果没有字段,则不能保证我们将来不会添加字段。
考虑到这一点:您关于 RestTemplate
和一般空请求的问题很有趣,我们会仔细研究一下,看看在没有指定字段时我们是否可以做一些更聪明的事情.
使用PayPal RESTAPI,取消授权只需要POST
到/v1/payments/authorization/<Authorization-Id>/void
,没有任何实际内容。由于 HTTP 实体为空,我没想到需要 Content-Type
header 并将其设置为 application/json
。如果我不设置它,我的请求将被拒绝。当我使用 Spring 的 RestTemplate
和 Jackson 映射时,提供 null
请求不会设置 Content-Type
,现在我不得不自己设置它。
您认为这个限制是合法的还是一个错误? 对我来说,没有body=没有内容=没有content-type.
我们将 POST
要求的 content-type
保持为一般性的兴趣是为了将来的向后兼容性。如果我们在未来添加新的媒体类型,我们不想假设您的内容是什么(尽管今天几乎 application/json)。
对于 void
,如果没有字段,则不能保证我们将来不会添加字段。
考虑到这一点:您关于 RestTemplate
和一般空请求的问题很有趣,我们会仔细研究一下,看看在没有指定字段时我们是否可以做一些更聪明的事情.