[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 입력

'[내일배움캠프] AI 를 활용한 백엔드 아카데미 심화 과정 > TIL' 카테고리의 다른 글
[JAVA] StringUtils.hasText - 공백, null 체크 (1) | 2024.11.14 |
---|---|
[트러블슈팅] 중복된 값이 삽입 시 발생 오류 해결 (1) | 2024.11.13 |
[Github] IntelliJ 에서 Git Branch 생성하고 Merge 하기 (0) | 2024.11.11 |
S.A (Starting Assignments) 작성 (2) | 2024.11.07 |
자바 스프링 백엔드 개발 - My Select Shop 프로젝트 (0) | 2024.11.05 |