Spring Rest和JSONP转换错误

时间:2016-02-24 08:25:04

标签: java spring rest jsonp

我试图将我对所有Spring REST API的响应转换为JSONP。我试着按照以下网址给出:

Spring Rest and Jsonp

为自定义bean生成JSONP(例如:Employee Bean)。但不是string和int(原始类型)。我应该添加任何其他依赖项还是应该检查所有请求数据类型并应用转换?

例如。 URL http://localhost:8080/demo2?callback=test应返回测试(" demo2")但仅返回demo2。

http://localhost:8080/demo?callback=test正确地返回测试({" attr":" demo"});

此外,如果我从URL接受int并返回相同的内容,则会生成JSONP。但不适用于方法中的int设置。

不工作:localhost:8080 / demo2?callback = test

@RequestMapping(produces = APPLICATION_JSON_VALUE)
Integer demo2() {
    int i=3;
    return i;
}

引发错误:此请求标识的资源只能生成具有根据请求不可接受的特征的响应"接受"头。工作:localhost:8080 / demo2 / 3?callback = test

 @RequestMapping(value="test/{a}" produces = APPLICATION_JSON_VALUE)
Integer demo2 (@PathVariable("a")int a)
{
       return a;
}

试验(3);

1 个答案:

答案 0 :(得分:0)

更改为

@RequestMapping(value = "/test/{a}", produces = MediaType.APPLICATION_JSON_VALUE)
public @ResponseBody Integer demo2(@PathVariable("a") int a) {
    return a;
}

确保你有

<dependency>
    <groupId>com.fasterxml.jackson.core</groupId>
    <artifactId>jackson-databind</artifactId>
    <version>2.6.0</version>
</dependency>

在你的pom。