Spring GET / POST方法缺少内容类型

时间:2018-11-12 17:29:58

标签: java spring

我是Spring的新手,我正在尝试使用基本的GETPOST方法。

这是我尝试执行的方法:

@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方法?

1 个答案:

答案 0 :(得分:1)

您需要更改的两件事:

  1. 使用/表示对于此路径,您将执行 操作。例如:(/desks
  2. 使用注释@Consumes来 指示此方法接受特定格式的有效负载。例如:@Consumes(MediaType.APPLICATION_JSON)注释了您的save()方法。