【问题标题】:RestTemplate - 415 UNSUPPORTED_MEDIA_TYPE ErrorRestTemplate - 415 UNSUPPORTED_MEDIA_TYPE 错误
【发布时间】:2021-01-24 10:29:57
【问题描述】:

我想从我的应用程序中调用 REST 服务。我没有向这个电话传递任何请求。但我不知道它是从哪里来的?

    RestTemplate restTemplate = new RestTemplate();

        HttpHeaders headers = new HttpHeaders();
        headers.setContentType(MediaType.APPLICATION_FORM_URLENCODED);
        MultiValueMap<String, String> map = new LinkedMultiValueMap<String, String>();

        map.add("username", bonitaUsername);
        map.add("password", bonitaPassword);
        map.add("redirect", "false");

        HttpMessageConverter formHttpMessageConverter = new FormHttpMessageConverter();
        HttpMessageConverter stringHttpMessageConverternew = new StringHttpMessageConverter();
        List<HttpMessageConverter<?>> converters = new ArrayList<>();
        converters.add(formHttpMessageConverter);
        converters.add(stringHttpMessageConverternew);
        restTemplate.setMessageConverters(converters);

        HttpEntity<MultiValueMap<String, String>> httpEntity = new HttpEntity<>(map, headers);
        ResponseEntity<?> response = restTemplate.exchange(url, HttpMethod.POST, httpEntity, String.class);

        List<String> cookies = response.getHeaders().get("Set-Cookie");

        String cookieString = "";

        for (String cookie : cookies) {
            System.out.println();
            cookieString += cookie.split(";")[0] + "; ";
        }

        return cookieString;

【问题讨论】:

  • 您发送的表单数据,后端似乎无法处理内容类型 MediaType.APPLICATION_FORM_URLENCODED

标签: spring-boot rest resttemplate http-status-code-415


【解决方案1】:

这是由于传递给 REST 模板的内容类型不匹配造成的。请确保发送正确的内容类型。有时我们会收到 JSON 请求,但我们需要以另一种格式发送。

【讨论】:

    猜你喜欢
    • 2019-12-15
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 2020-11-03
    • 1970-01-01
    • 2012-01-06
    • 2018-10-06
    相关资源
    最近更新 更多