【发布时间】:2016-02-09 16:10:00
【问题描述】:
我正在使用 @ControllerAdvice 尝试 JSONP 响应。但回调函数名前出现不必要的注释。
build.gradle
apply plugin: 'java'
repositories {
mavenCentral()
}
dependencies {
compile 'org.springframework.boot:spring-boot-starter-web:1.2.7.RELEASE'
}
应用
@SpringBootApplication
public class Application {
public static void main(String[] args) {
SpringApplication.run(Application.class, args);
}
}
控制器
@RestController
public class Controller {
@ControllerAdvice
public static class JsonpAdvice extends AbstractJsonpResponseBodyAdvice {
public JsonpAdvice() {
super("callback");
}
}
@RequestMapping("/product")
public Product product(@RequestParam(value = "callback", required = false) String callback) {
return new Product(1, "foo", 100);
}
}
产品
public class Product {
int id;
String name;
int price;
public int getId() {
return id;
}
/* getters, setters, constructor */
}
结果http://localhost:8080/product?callback=callback
/**/callback({"id":1,"name":"foo","price":100});
如何在回调之前删除 /**/?
谢谢。
【问题讨论】:
标签: java spring spring-boot jsonp