[241112 TIL] AI 검증 비즈니스 프로젝트

CRUD 구현


Spring Data Jpa

Containing

  • 컬럼에 특정 문자열이 포함된 엔티티 검색
  • SQL Qurey 의 LIKE 와 같음
// SELECT * FROM Store WHERE category_id = categoryID AND name LIKE %query%;
Page<Store> storeList = storeRepository.findByCategoryIdAndNameContaining(categoryId, query, pageable);

 


 

POSTMAN 

⚠️ 트러블슈팅 ⚠️

 

1. 문제 정의

  • API 테스트 진행을 위해 POSTMAN 을 사용하여 회원가입 진행 중 에러 발생
{
    "code": null,
    "message": "Required request body is missing: public com.sparta.gourmate.domain.user.dto.UserResponseDto com.sparta.gourmate.domain.user.controller.UserController.createUser(com.sparta.gourmate.domain.user.dto.SignupRequestDto)"
}

 

 

2. 원인 추론

  • POSTMAN POST 상황

 

1) 입력 조건을 만족하지 못했나?

@NotBlank
@Size(min = 4, max = 10)
@Pattern(regexp = "^[a-z0-9]+$")
private String username;

@NotBlank
@Size(min = 8, max = 15)
@Pattern(regexp = "^(?=.*[a-zA-Z])(?=.*\\d)(?=.*[!@#$%^&*)(+=._-])[a-zA-Z\\d!@#$%^&*)(+=._-]+$")
private String password;

@Email
@NotBlank
private String email;

 

  • 모든 조건 만족

 

2) NOTNULL 값만 작성하고 나머지는 작성하지 않아서 그런가?

  • 회원가입(SignupRequestDto)에 필요한 모든 값을 작성해도 같은 에러 발생

 

3) @RequestBody 가 제대로 작동되고 있는지?

  • 모든 값을 Query Params 으로 넘기고 있음을 확인

 

3. 해결 방안 및 결과

  • Boby - JSON raw 로 값 넘겨주기
{
    "username" : "customer",
    "password" : "customer1!",
    "email" : "customer@naver.com",
    "isAdmin" : false,
    "isOwner" : false

}

 

  • 성공적으로 POST
{
    "id": 3,
    "username": "customer",
    "email": "customer@naver.com",
    "role": "CUSTOMER"
}

 

 

 

사실 너무 어이없는 실수라 트러블슈팅으로 적어도 되나~ 싶지만~

그래도 나는 바보라서 똑같은 실수를 하게 될 수도 있으니 일단 적어놓자...

 


POSTMAN 

로그인 후 토큰 처리

 

Login - POST username, password Authorization

Response Header >  Authorization 값 복사

 

Request Header 에 Authorization 입력


+ Recent posts