Spring REST服务响应编码问题

时间:2018-10-26 14:16:41

标签: json resttemplate spring-restcontroller

我已经在Spring应用程序中编写了一个示例REST端点。

端点的响应是一个列表。

@RequestMapping(value = "/test", method = RequestMethod.GET, produces = MediaType.APPLICATION_JSON_VALUE)
    public List<String> getTest(HttpServletRequest request) {
        List<String> list = new ArrayList<String>();
        list.add("one = 1");
        list.add("two = 2");
        list.add("three = 3");
        list.add("four = 4");

        log.debug("List Size : " + list.size());

        return list;
    }

当我通过邮递员工具测试此端点时,响应是预期的

[
    "one = 1",
    "two = 2",
    "three = 3",
    "four = 4"
]

但是当我使用RestTemplate从Java代码调用相同的端点时,响应是不同的

["one \u003d 1","two \u003d 2","three \u003d 3","four \u003d 4"]

从客户端程序调用时如何解码响应?

谢谢。

1 个答案:

答案 0 :(得分:0)

我正在将响应整理成字符串。这就是为什么解码没有发生的原因。如果我将响应放入某个bean中,则会看到实际值。因此,可以通过创建一个bean来保存json响应来解决该问题。