org.springframework.http.converter.HttpMessageNotWritableException:未找到类型为org.json.JSONObject的返回值的转换器

时间:2019-04-30 09:54:47

标签: json spring

我通过使用Spring开发rest api。

因此,我的其他api调用了另一个api。例如Oracle ORDS。

private String processBackground(String object, String url, HttpMethod templete) {
        HttpHeaders headers = new HttpHeaders();
        headers.setContentType(MediaType.APPLICATION_JSON);
        logger.warn(object);
        HttpEntity request = new HttpEntity<>(object, headers);
        logger.info(request.toString());

        ResponseEntity<String> responseEntity;
        responseEntity = restTemplate.exchange(url, templete, request, String.class);

        logger.info(responseEntity.getBody());
        return responseEntity.getBody();
    }

我认为此部分有误。

错误消息

{
    "timestamp": "2019-04-30T09:18:54.586+0000",
    "status": 500,
    "error": "Internal Server Error",
    "message": "No converter found for return value of type: class org.json.JSONObject",
    "path": "/mainrequest"
}

救救我! 谢谢;)

1 个答案:

答案 0 :(得分:0)

此消息意味着您在Spring上下文中没有HttpMessageConverter能够处理MediaType application / json的JSONObject到String的转换。

看看这篇关于消息转换器以及如何实现自己的消息的帖子:https://www.baeldung.com/spring-httpmessageconverter-rest

快速解决方案可能是期望响应实体主体为JSONObject,因为您应该具有默认的JSON HttpMessageConverter,如下所示:

ResponseEntity<JSONObject> responseEntity;