gpt4 book ai didi

java - 如何在 Spring MVC 中获取 JSON 作为响应?

转载 作者:行者123 更新时间:2023-12-02 02:56:48 27 4
gpt4 key购买 nike

我正在尝试以 JSON 形式返回响应。
搜索后,我找到了在 RequestMapping 中添加 headers = "Accept=application/json"的解决方案。
但仍然不起作用。
它抛出错误 HTTP Status 406“此请求标识的资源只能生成具有根据请求“接受” header Not Acceptable 特征的响应。”
这是我的 Controller 代码:

@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;
}
}

我哪里做错了?

最佳答案

生成 JSON、XML 响应的简单方法是 @ResponseBody 注解。

@RequestMapping(value =" /jsonPostSingle", method = RequestMethod.GET)
@ResponseBody
public PostModel generateJSONPostsingle(@ModelAttribute("postModel") PostModel postModel) {

if(postModel.getPostId() == 1) {
postModel.setTitle("post title for id 1");
} else {
postModel.setTitle("default post title");
}
return postModel;
}

这样您就可以使用 @ModelAttribute 将您的请求映射到模型类。

按照完整教程 Spring MVC : JSON response using @ResponseBody 进行操作

关于java - 如何在 Spring MVC 中获取 JSON 作为响应?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/42955393/

27 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com