"Обязательное тело запроса отсутствует: public org.springframework.http.ResponseEntity <?> - PullRequest
0 голосов
/ 14 мая 2019

Я изучаю возможности Spring-Boot и изучаю их также с Почтальоном. Но когда я запускаю код, я получаю 400 Bad Error Error на Почтальон, как это: Msgstr "Обязательное тело запроса отсутствует: public org.springframework.http.ResponseEntity". Я пропустил атрибут или кодирование полностью неверно?

 @RestController
 @RequestMapping("/api/board")
 @CrossOrigin
public class ProjectTaskController {

@Autowired
private ProjectTaskService projectTaskService;

@PostMapping("")
public ResponseEntity<?> addPTToBoard( @Valid @RequestBody ProjectTask projectTask, BindingResult result){
    if(result.hasErrors()) {
        Map<String, String> errorMap= new HashMap<>();

        for(FieldError error: result.getFieldErrors()) {
            errorMap.put(error.getField(), error.getDefaultMessage());
        }
         return new ResponseEntity<Map<String, String>>(errorMap, HttpStatus.BAD_REQUEST);
    }

    ProjectTask newPT= projectTaskService.saveOrUpdateProjectTask(projectTask);
    return new ResponseEntity<ProjectTask>(newPT, HttpStatus.CREATED);
}

Код ProjectTask, он также имеет геттеры и сеттеры.

@Entity
public class ProjectTask {

@Id
@GeneratedValue(strategy= GenerationType.IDENTITY)
private long id;

@NotBlank(message = "summary cannot be blank")
private String summary;
private String acceptanceCriteria;
private String status;

public ProjectTask() {

}

Почтальон запрос Здесь

Ответы [ 3 ]

0 голосов
/ 14 мая 2019

Redi вот пример запроса:

curl -X POST \
  'http://>>>> your endpoint url' \
  -H 'Content-Type: application/json' \
  -d '{
"summary" : "sample summary",
"acceptanceCriteria" : "blabla",
"status" : "fake status"
}'
0 голосов
/ 14 мая 2019

Это верно ..! Да, вы отправляете плохой запрос. Вы должны отправить запрос полезной нагрузки в запросе POST.

Решение: При отправке запроса POST, пожалуйста, отправьте с таким телом в вашем случае.

{
"summary":"any",
"acceptance":"any",
"status":"any"
}
0 голосов
/ 14 мая 2019

Поскольку это @PostMapping, вам нужно сделать POST-запрос почтальона следующим образом: enter image description here

убедитесь, что вы выбрали raw и тип контента application/json вместе с объектом json для тела запроса

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...