Исключение: org.springframework.web.HttpRequestMethodNotSupportedException При использовании метода публикации весной - PullRequest
0 голосов
/ 25 августа 2018

У меня есть следующий код для сопоставления 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 как ...

enter image description here

Ответы [ 2 ]

0 голосов
/ 25 августа 2018

В дополнение к Судхирский ответ , попробуйте аннотировать ваш контроллер следующим образом:

@RestController
@RequestMapping("/ats-api")
class MyController {
    @PostMapping("/set-employee-id-one-by-one")
    public void(@RequestBody CreateUserBody createUserBody) {
        ...
    }

И редко использовать CamelCase в путях, пожалуйста, рассмотрите возможность использования kebab-case вместо

0 голосов
/ 25 августа 2018

Вместо ввода данных в form-data отправьте свои данные в raw, а затем выберите тип содержимого как application/json. И в теле ваши данные должны быть такими:

{
  "CandidateId":"3",
  "EmployeeId":"5696969",
  "CompanyId":"15272"
}

и ваш запрошенный URL в почтальоне должен выглядеть следующим образом:

http://localhost:9199/SetEmployeeIdOneByOne/
...