본문 바로가기
백엔드/Spring(Boot)

스프링 API JSON 검증

by 김어찐 2021. 9. 29.
728x90

컨트롤러

import hello.itemservice.web.validation.form.ItemSaveForm;
import lombok.extern.slf4j.Slf4j;
import org.springframework.validation.BindingResult;
import org.springframework.validation.annotation.Validated;
import org.springframework.web.bind.annotation.PostMapping;
import org.springframework.web.bind.annotation.RequestBody;
import org.springframework.web.bind.annotation.RequestMapping;
import org.springframework.web.bind.annotation.RestController;

@Slf4j
@RestController
@RequestMapping("/validation/api/items")
public class ValidationItemApiController {

    @PostMapping("/add")
    public Object addItem(@RequestBody @Validated ItemSaveForm form, BindingResult bindingResult) {
        log.info("API 컨트롤러 호출");

        if (bindingResult.hasErrors()) {
            log.info("검증 오류 발생 errors={}", bindingResult);
            return bindingResult.getAllErrors();
        }

        log.info("성공 로직 실행");
        return form;

    }
}
728x90

'백엔드 > Spring(Boot)' 카테고리의 다른 글

스프링 로그인(쿠키, 세션)  (0) 2021.09.30
스프링 Bean Validation  (0) 2021.09.29
스프링 검증 Validation  (0) 2021.09.24
스프링 메시지, 국제화  (0) 2021.09.23
스프링 리다이렉트  (0) 2021.09.11