gpt4 book ai didi

java - 如何使用 RestTemplate 传递 header ?

转载 作者:行者123 更新时间:2023-11-30 01:41:19 33 4
gpt4 key购买 nike

在我的方法中,我最初使用 RestTemplate postForObject 方法将请求发送到端点。现在我必须添加默认的 OAuth token 并将其作为 Post 请求传递。有什么方法可以使用 postForObjectrequestDefault Header 作为 POST 请求的一部分传递吗?

最初我在下面使用了postForObject

 String result = restTemplate.postForObject(url, request, String.class);

我正在寻找类似下面的内容

             restTemplate.exchange(url,HttpMethod.POST,getEntity(),String.class );

这是我的代码

    private final String url;
private final MarkBuild header;

public DataImpl(@Qualifier(OAuth) MarkBuild header,RestTemplate restTemplate) {
this.restTemplate= restTemplate;
this.header = header;
}

public void postJson(Set<String> results){
try {
Map<String, String> requestBody = new HashMap<>();
requestBody.put("news", "data");
JSONObject jsonObject = new JSONObject(requestBody);

HttpEntity<String> request = new HttpEntity<String>(jsonObject.toString(), null);

String result = restTemplate.postForObject(url, request, String.class);
}
}

下面是我想通过 Post 请求传递的 getHttpEntity


private HttpEntity getHttpEntity(Set <String>results) {
return new HttpEntity<>( null, getHttpHeaders() );
}

private HttpHeaders getHttpHeaders() {
return header.build();
}
}

最佳答案

Is there any way I can pass both request as well as Default Header as part of POST request by using postForObject?

是的,有一种方法可以做到这一点,我可以举一个基本的例子:

HttpHeaders lHttpHeaders = new HttpHeaders();
lHttpHeaders.setContentType( MediaType.APPLICATION_JSON );//or whatever it's in your case
String payload="<PAYLOAD HERE>"
try
{
String lResponseJson = mRestTemplate.postForObject( url, new HttpEntity<Object>( payload, lHttpHeaders ), String.class);
return lResponseJson;
}
catch( Exception lExcp )
{
logger.error( lExcp.getMessage(), lExcp );
}

如果这不起作用,请告诉我!!

关于java - 如何使用 RestTemplate 传递 header ?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/59871077/

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