【发布时间】:2017-03-22 15:01:19
【问题描述】:
我正在尝试以 JSON 格式返回响应。
搜索后,我找到了在 RequestMapping 中添加 headers = "Accept=application/json" 的解决方案。
但它仍然无法正常工作。
它抛出错误 HTTP 状态 406“此请求标识的资源只能生成具有根据请求“接受”标头不可接受的特征的响应。”
这是我的控制器代码:
@RestController
public class EmployeeController {
private EmployeeService employeeService;
@Autowired(required = true)
@Qualifier(value = "employeeService")
public void setEmployeeService(EmployeeService employeeService){
this.employeeService = employeeService;
}
@RequestMapping(value = "/test",method = RequestMethod.GET)
public String test(){
return "{\"name\":\"xyz\"}";
}
@RequestMapping(value = "/employees",method = RequestMethod.GET,headers = "Accept=application/json")
public List<Employee> listEmployees(){
List<Employee> employees = this.employeeService.getEmployees();
return employees;
}
}
我哪里做错了?
【问题讨论】:
-
在添加 headers="Accept=application/json" 之前遇到了什么问题?
-
我认为您可能正在寻找的是“生产”/“消费”,具体取决于您是否想接收或生产 json 数据。您可以在这里阅读:docs.spring.io/spring/docs/current/javadoc-api/org/…
-
例如:RequestMapping(value = "/api", method = RequestMethod.GET,produces = MediaType.APPLICATION_JSON_VALUE)
-
请提供minimal reproducible example。同时向我们展示您将请求发送到的 URL。
-
谢谢大家solution为我工作:)
标签: java spring web-services spring-mvc