gpt4 book ai didi

java - 如何使用 Feign 框架添加 JSON 形式的 URL 参数?

转载 作者:行者123 更新时间:2023-12-02 13:05:39 24 4
gpt4 key购买 nike

我使用feign框架制作了一个rest客户端,如下:

@Headers({"Content-Type: application/x-www-form-urlencoded"})
public interface CampaignTrigger {

@RequestLine("POST /event?actid={actid}&key={key}&event={event}&visit={visit}")
TriggerResponse trigger(@Param("visit") Map<String, String> visit, @Param("actid") String actid, @Param("key") String key, @Param("event") String event);
}

这会导致类似这样的结果:

http://www.example.com/event?actid=1234&key=1234&event=cool_event&visit={email=someone@hosting.com}

我想要的是将“visit”参数设置为 json,如下所示:

http://www.example.com/event?actid=1234&key=1234&event=cool_event&visit={"email":"someone@hosting.com"}

谁知道如何实现这一点?

最佳答案

您可以定义自己的 Param.Expander 来实现它,如下所示。

@Headers({"Content-Type: application/x-www-form-urlencoded"})
public interface CampaignTrigger {

@RequestLine("POST /event?actid={actid}&key={key}&event={event}&visit={visit}")
TriggerResponse trigger(@Param(value="visit", expander = JSONExpander.class) Map<String, String> visit, @Param("actid") String actid, @Param("key") String key, @Param("event") String event);
}

static final class JSONExpander implements Param.Expander {
@Override
public String expand(Object value) {
// convert value to json string and return it.
return xxxx;
}
}

关于java - 如何使用 Feign 框架添加 JSON 形式的 URL 参数?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/44156691/

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