본문 바로가기
Spring Boot/인스타그램 클론코딩

유효성 검사

by hyhs 2022. 4. 7.
728x90
반응형
SMALL

04/06

20강 

 

Service에서 @Transactional (INSERT, UPDATE, DELETE)

 

@Column (unique = true) //제약조건

private String username;

 

전처리, 후처리 개념

username --------------> ⑴ㅣ 서버 ----- ⑵ㅣ DB ->

                                               JPA

오류창

 

AOP(Aspect Oriented Programming)

관점지향프로그래밍

 

⑴ 전처리 

유효성 검사

⑵ 후처리

exceptionhandler

 

회원가입을 할 시에 같은 username으로 가입을 하면 제약조건 위반 오류

ConstraintViolationException

 

길이 20의 제약조건 추가

	@Column(length = 20, unique = true)

usname 길이 20 넘었을 경우

SQLGrammarException 오류

 

https://bamdule.tistory.com/35

Spring Boot @Valid

	public String signup(@Valid SignupDto signupDto) {

 

프론트에서 막아도 Postman으로 요청을 할 경우 막지 못하므로 백엔드에서도 막아줘야함

 

@ResponseBody

Controller여도 데이터 반환

	@PostMapping("/auth/signup")
	public @ResponseBody String signup(@Valid SignupDto signupDto, BindingResult bindingResult) { //key=value (x-www-form-urlencoded)
		
		if(bindingResult.hasErrors()) {
			Map<String, String> errorMap = new HashMap<>();
			
			for(FieldError error : bindingResult.getFieldErrors()) {
				errorMap.put(error.getField(), error.getDefaultMessage());
				System.out.println("=====================");
				System.out.println(error.getDefaultMessage());
				System.out.println("=====================");
			}
		}
728x90
반응형
LIST

댓글