gpt4 book ai didi

Spring集成http在获取请求中禁用多部分

转载 作者:可可西里 更新时间:2023-11-01 17:16:43 24 4
gpt4 key购买 nike

我在向我的 HTTP 资源发送 GET 请求时遇到问题。我无法控制客户端请求,Spring 似乎认为他们想要执行多部分请求。但他们并没有这样做,他们只是在有效负载中向我发送 JSON。

它在 POST 请求中工作正常,但在 GET 请求中我收到一个空的 LinkedMultiValueMap。我尝试了几种方法,但无法禁用多部分功能。

<int:channel id="myChannel" />
<int-http:inbound-gateway request-channel="myChannel"
supported-methods="GET,POST"
path="/testResource"
request-payload-type="java.util.Map">
</int-http:inbound-gateway>

<int:service-activator ref="TestEndPoint"
method="testMethod"
input-channel="myChannel" />

<bean id="TestEndPoint" class="com.example.TestEndPoint" />

这是我的测试方法:

public Message<?> testMethod(Message<Map> message)
{
Map payload = message.getPayload();

// Do stuff with the payload, create a result...

return MessageBuilder.withPayload(result)
.setHeader(HttpHeaders.STATUS_CODE, HttpStatus.OK)
.build();
}

如何禁用多部分功能或是否有更好的方法来处理此问题?

注意:我知道这个属性,但它不能解决问题:

spring.servlet.multipart.enabled=false

最佳答案

引用 Ref :

A payload within a GET request message has no defined semantics;
sending a payload body on a GET request might cause some existing
implementations to reject the request.

因此,您必须在 POST 中发送有效载荷才能完美运行。

关于Spring集成http在获取请求中禁用多部分,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/57095598/

24 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com