java - Spring GET/POST 方法缺少 Content-Type
问题描述
我是新手Spring
,我正在尝试做基础GET
和POST
方法。
这就是我尝试执行这些方法的方式:
@RestController
public class DeskController {
@Autowired
private DeskDao dao;
@GetMapping("desks")
public List<Desk> getDesks() {
System.out.println(dao.findById(1L));
return dao.findAll();
}
@PostMapping("desks")
public Desk save(@RequestBody @Valid Desk desk) {
Desk deskObj = dao.save(desk);
System.out.println(deskObj);
return deskObj;
}
当我调用这样的POST
方法时,我得到了pring
我调用它的实际对象,所以它工作正常,但我也得到这个错误:
javax.ws.rs.ProcessingException: Content-Type is missing
当试图调用它时,GET
它告诉我:
org.springframework.web.HttpRequestMethodNotSupportedException: Request method 'GET' not supported
我知道我没有包含整个代码,但我将添加解决此错误所需的内容,因为有很多类。
我的问题是,我该怎么做?error
为什么GET
不支持方法?
解决方案
你需要改变两件事:
- 使用 a
/
表示您将针对此路径执行操作。例如: (/desks
) - 使用注解
@Consumes
指示此方法接受特定格式的有效负载。例如:在您的方法上进行@Consumes(MediaType.APPLICATION_JSON)
注释。save()