gpt4 book ai didi

java - 如何从我的 IntegrationFlow 发送 HTTP 请求?

转载 作者:行者123 更新时间:2023-12-02 09:43:05 25 4
gpt4 key购买 nike

我收到来自客户端的请求,该请求返回一个 SendRequest-Object,该对象具有 HttpMethod、要发送的路径和数据。现在我想根据我获得 API 的对象发送请求。

发送后我会收到回复。

现在的问题是如何发送有效负载并接收响应。

@Bean
public IntegrationFlow httpPostSendRawData() {
return IntegrationFlows.from(
Http.inboundGateway("/api/data/send")
.requestMapping(r -> r.methods(HttpMethod.POST))
.statusCodeExpression(dataParser().parseExpression("T(org.springframework.http.HttpStatus).BAD_REQUEST"))
.requestPayloadType(ResolvableType.forClass(DataSend.class))
.crossOrigin(cors -> cors.origin("*"))
.headerMapper(dataHeaderMapper())
)
.channel("http.data.send.channel")
.handle("rawDataEndpoint", "send")
.transform(/* here i have some transformations*/)
.handle(Http.outboundGateway((Message<SendRequest> r)->r.getPayload().getPath())
.httpMethod(/* Here I would like to get the Method of SendRequest*/)
//add payload
.extractPayload(true))
.get();

最佳答案

尚不清楚您的 SendRequest 是什么,但 方法 的想法与您对 url 所做的完全相同:

.httpMethodFunction((Message<SendRequest> r)->r.getPayload().getMethod())

尽管如此,由于您想要对请求正文进行一些提取,因此您需要提前在 transform() 中执行此操作,并移动 urlmethod 添加到标题中。Http.outboundGateway 中没有任何有效负载提取:它将整个请求有效负载作为 HTTP 请求正文的实体进行处理。

关于java - 如何从我的 IntegrationFlow 发送 HTTP 请求?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/56899730/

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