Запрос PUT от почтальона не получен контроллером Java - PullRequest
1 голос
/ 28 мая 2020

Я написал несколько конечных точек REST в своем контроллере [GET, POST и PUT].

Вызовы GET и POST работают нормально. Но когда я пытаюсь выполнить запрос PUT от Postman, мой контроллер java не может получить этот запрос. Сообщение об ошибке отсутствует. Тело ответа пусто. Код ответа в Postman - 200, хорошо.

Вот моя конечная точка PUT, которая не может получить запрос от Postman:

@PutMapping(value = "/devRegistration")
public Object deviceRegistration(HttpServletRequest httpRequest,  
        @RequestBody(required = false) Map<String, Object> jsonBody ){

    ResponseEntity<Object> response = null;
    System.out.println("jsonBody = "+jsonBody);
    devService.deviceRegistration(httpRequest, jsonBody);

    return response;
}

Вот моя конечная точка GET, которая работает нормально:

@GetMapping(value = "/checkRegistration")
public void checkRegistration(HttpServletRequest httpRequest,  
        @RequestParam("appId") String appId, @RequestParam("offset") String offset  ){

    Map<String, Object> jsonBody = new HashMap<String, Object>();
    jsonBody.put("appId", appId);
    jsonBody.put("offset", offset);
    service.checkRegistration(httpRequest, jsonBody);
}

URL-адрес почтальона с заголовками и телом для запроса PUT:

https://localhost:8443/api/device/devRegistration
In Body:
app_Id : some value
offset : some value

Headers are:

RequestHeader
Content-Type
Authorization
MobileHeader
SessionToken

Но System.out.println () не выполняется в конечной точке PUT.

Сообщите мне, если есть другая информация. обязательно.

1 Ответ

0 голосов
/ 28 мая 2020

Я нашел ответ.

На самом деле, мне нужно передать параметры в Body как необработанную форму вместо данных формы в Postman.

Теперь это сработало.

...