Warning: file_get_contents(/data/phpspider/zhask/data//catemap/9/java/397.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
Java 如何在Spring Boot中将HttpServletRequest头转发到另一个REST API_Java_Spring Boot_Rest_Header - Fatal编程技术网

Java 如何在Spring Boot中将HttpServletRequest头转发到另一个REST API

Java 如何在Spring Boot中将HttpServletRequest头转发到另一个REST API,java,spring-boot,rest,header,Java,Spring Boot,Rest,Header,我有一个RESTAPI,它在请求中接受请求头。我的控制器正在内部调用另一个API。我要做的是将我在请求中得到的所有头传递给控制器正在调用的内部API 我知道我可以在头上迭代并在我正在创建的HttpRequest中设置它们,但是否有其他方法可以在一个步骤中设置它们 谢谢,您可以按如下方式设置标题:- HttpHeaders headers = new HttpHeaders(); headers.setAccept(Arrays.asList(new MediaType[] { MediaType

我有一个RESTAPI,它在请求中接受请求头。我的控制器正在内部调用另一个API。我要做的是将我在请求中得到的所有头传递给控制器正在调用的内部API

我知道我可以在头上迭代并在我正在创建的HttpRequest中设置它们,但是否有其他方法可以在一个步骤中设置它们


谢谢,

您可以按如下方式设置标题:-

HttpHeaders headers = new HttpHeaders();
headers.setAccept(Arrays.asList(new MediaType[] { MediaType.APPLICATION_JSON }));
headers.setContentType(MediaType.APPLICATION_JSON);
headers.set("custom-header-name, "value");

HttpEntity<Request> entity = new HttpEntity<Request>(request, headers);

RestTemplate template = new RestTemplate();

ResponseEntity<Response> respEntity = template
    .exchange("URL", HttpMethod.POST, entity , RestResponse.class);
HttpHeaders=newhttpheaders();
setAccept(Arrays.asList(newmediatype[]{MediaType.APPLICATION_JSON}));
headers.setContentType(MediaType.APPLICATION_JSON);
headers.set(“自定义头名称,“值”);
HttpEntity=新的HttpEntity(请求、头);
RestTemplate=新的RestTemplate();
ResponseEntity ResponseEntity=模板
.exchange(“URL”,HttpMethod.POST,entity,resresponse.class);

这不是我所要求的。我在API的输入中获得了需要传递给另一个API的标题。在这里,您正在代码本身中创建标题。那么为什么不设置为HttpEntity entity=new HttpEntity(请求,标题)我使用的是HttpClient。我知道这很奇怪,但是当使用RestTead时,API不考虑我正在通过的Access令牌,返回401。HTTPclipse工作Fun.401并不意味着API不访问访问令牌或任何其他标头,而是意味着由于WHIXH访问令牌没有得到验证而出现错误。resttemplate的问题。当我切换到httpclient时,它开始正常工作。