인프런 커뮤니티 질문&답변

Joohan Park님의 프로필 이미지
Joohan Park

작성한 질문수

자바와 스프링 부트로 생애 최초 서버 만들기, 누구나 쉽게 개발부터 배포까지! [서버 개발 올인원 패키지]

30강. 책 생성 API 개발하기

오류 query did not return a unique result: 4

해결된 질문

작성

·

2.3K

1

사용자 목록에서 사용자삭제를 누르는 경우에 발생합니다.

다만 이름이 동일한 인원들을 삭제할때만 뜨고

신규로 등록한 인원들을 삭제하는 경우에는 오류가 발생하지 않는데

어떤식으로 고치면될지 모르겠습니다

답변 1

0

최태현님의 프로필 이미지
최태현
지식공유자

안녕하세요!! 크으~~~~ 정말 정말 좋은 질문 감사드립니다! 😊

본격적으로 해결 방법을 말씀드리기 전에 아래 두 글을 첨부드립니다! (꼭 한 번 봐주세요!! 🙏)

 

자 그럼 이제 사용자 목록에서 사용자삭제를 누르는 경우 - query did not return a unique result 에러를 어떻게 해결할 수 있는지 몇 가지 방법을 말씀드려 보겠습니다!!

 

[1. 왜 이런 문제가 발생하는가?]

  • 해당 에러는 데이터를 가져올 때 데이터가 1개가 아니라는 에러입니다!

  • 우리가 유저를 삭제할 때 "이름"을 기준으로 유저를 가져오는데요 만약 동일 이름을 가진 유저가 있다면 위의 에러가 나게 됩니다.

 

[2. 문제를 해결하는 방법]

따라서 문제를 해결하는 방법은 2가지가 있을 수 있습니다!

  1. 동명이인이 들어올 수 없도록 시스템을 변경한다

  2. API 스펙의 변경

    • name을 기준으로 유저를 삭제하지 않고,

    • 유일한 key인 id를 기준으로 유저 삭제 요청을 개발한다

    • 단, API 스펙이 변경되면 클라이언트 코드도 함께 변경되어야 합니다. (물론 저희는 서버 실습을 하는 중이니, 서버에 API를 만들어 보는 것만으로도 연습이 되겠죠 ㅎㅎㅎ)

 

좋은 질문 주셔서 감사합니다. 보다 구체적인 해결책은 한 번 고민해보시고 관련해서 궁금한 점 생기시면 편하게 질문 더 남겨주세요!! 감사드려요~!! 🙇🙇

Joohan Park님의 프로필 이미지
Joohan Park

작성한 질문수

질문하기