programing

ResponseEntity에서 CREATED 상태(201 HTTP)를 반환하는 방법

iphone6s 2023. 7. 21. 21:26
반응형

ResponseEntity에서 CREATED 상태(201 HTTP)를 반환하는 방법

있습니다.Spring-MVC어플.컨트롤러에서 메서드의 결과를 반환할 때 다음을 통해 반환합니다.ResponseEntity<>성공하면, 나는 돌아옵니다.200법령)의OK-어쨌든.하지만 무언가를 만들 때, 나는 그것을 돌려주고 싶습니다.CREATED-filen (201상태).나는 이해할 수가 없어 어떤 종류의URL전화를 걸 때 괄호 안에 넣어 묻다CREATED어떻게 구현할 수 있습니까?

이제 이러한 구현이 있습니다.

@PostMapping("/create/dish")
    ResponseEntity<Dish> createDish(@Valid @RequestBody DishDTO dishDTO) {

        return ResponseEntity.ok(cookService.createDish(dishDTO.getDishName(), dishDTO.getAboutDish(), dishDTO.getDishType(),
                dishDTO.getCookingTime(), dishDTO.getWeight(),
                dishDTO.getDishCost(), dishDTO.getCooksId()));
    }

이렇게 다시 만들어 작동하게 만들고 싶습니다(지금은 작동하지 않습니다).

@PostMapping("/create/dish")
    ResponseEntity<Dish> createDish(@Valid @RequestBody DishDTO dishDTO) {

        return ResponseEntity.created(cookService.createDish(dishDTO.getDishName(), dishDTO.getAboutDish(), dishDTO.getDishType(),
                dishDTO.getCookingTime(), dishDTO.getWeight(),
                dishDTO.getDishCost(), dishDTO.getCooksId()));
    }

enter image description here

추신: 저는 프런트 엔드가 전혀 없습니다.스웨거나 포스트맨을 통해서요

다음과 같이 반환합니다.

return new ResponseEntity<Dish>(cookService.createDish(...), HttpStatus.CREATED)

가져온 항목 확인org.springframework.http.HttpStatus

사용할 수 있습니다.

    ResponseEntity.created(ServletUriComponentsBuilder.fromCurrentRequest().path("/{id}").buildAndExpand(savedObjectId).toUri()).build()

사용할 수 있습니다.

return new ResponseEntity(cookService.createDish(...), HttpStatus.CREATED);

여기서 더 읽기

본문 없이 201(CREATED) 응답을 작성하려면 다음을 사용합니다.

ResponseEntity.status(HttpStatus.CREATED).build()

201(작성됨) 상태를 반환하는 대신 ResponseEntity를 폐기하고 @ResponseStatus(HttpStatus)를 설정할 수도 있습니다.CREATEED)는 다음과 같은 RestController 메서드에 사용됩니다.

@PostMapping("/create/dish")
@ResponseStatus(HttpStatus.CREATED) 
Dish createDish(@Valid @RequestBody DishDTO dishDTO) {
    return cookService.createDish(...);
}

언급URL : https://stackoverflow.com/questions/62323734/how-to-return-created-status-201-http-in-responseentity

반응형