我有以下代码在我的控制器中映射post API。我已经为POST请求参数定义了一个模型。
public class CreateUserBody {
String CandidateId = "";
String EmployeeId = "";
String CompanyId = "";
public String getCandidateId() {
return CandidateId;
}
public String getEmployeeId() {
return EmployeeId;
}
public String getCompanyId() {
return CompanyId;
}
}
当我触发此API时,我收到HttpRequestMethodNotSupportedException。请帮助我解决这个问题。
@RequestMapping(value = "/SetEmployeeIdOneByOne/", method = RequestMethod.POST)
public @ResponseBody void SetEmployeeIdOneByOne(@RequestBody CreateUserBody createUserBody) throws Exception{
String CandidateId = createUserBody.getCandidateId();
String EmployeeId = createUserBody.getEmployeeId();
String CompanyId = createUserBody.getCompanyId();
SetEmployeeID.SetEmployeeIDOneByOneInteger(CandidateId, EmployeeId, CompanyId);
}
我正在调用API,就像...
答案 0 :(得分:2)
与其将数据放入form-data
中,而是将数据发布到raw
中,然后将内容类型选择为application/json
。正文中的数据应如下所示:
{
"CandidateId":"3",
"EmployeeId":"5696969",
"CompanyId":"15272"
}
,您在邮递员中请求的网址应如下所示:
http://localhost:9199/SetEmployeeIdOneByOne/
答案 1 :(得分:0)
除了Sudhir answer之外,请尝试用以下方式注释您的控制器:
@RestController
@RequestMapping("/ats-api")
class MyController {
@PostMapping("/set-employee-id-one-by-one")
public void(@RequestBody CreateUserBody createUserBody) {
...
}
在路径中使用CamelCase
是不常见的,请考虑改用kebab-case