POST 到 spring @RestController 中没有设置属性

No properties set in POST to spring @RestController

我有 spring 个标有 RestController 的控制器。如果我使用 Json 对象执行 POST,则不会填充模型 class Company 的属性,例如name 属性 是 null.

如果我在 save() 方法中请求请求主体,我会得到一个 Json 字符串,其名称为 属性,这意味着我确定 json POST 请求的正文被传输。

我需要做些什么才能使 spring 将 Json 字符串反序列化为 save() 方法的 company 参数吗?

控制器:

@RestController
@RequestMapping("/company")
public class CompanyResource {

    @Resource
    private CompanyService companyService;

    @RequestMapping(method = RequestMethod.POST)
    public Company save(Company company) {
        return companyService.save (company);
    }

}

公司型号class: @实体

public class Company {

    @Id
    private long id;

    private String name;

    // public setters and getters
}

您需要@RequestBody注解:

public Company save(@RequestBody Company company) {
    return companyService.save (company);
}