흑우냥이
150
2020-08-19 13:55:51
4
299

REST API 구현시 값 리턴하는 것에 대해 질문이 있습니다


A

@OneToMany(mappedBy = a)

private Set<B> b;

B

@ManyToOne

private A a;


A(유저)라는 도메인 객체와

B(게시글)라는 도메인 객체가 있을경우 위와같은 형태라고 가정했을때,


프론트에서 작업하시는 분이 특정 유저에 해당하는 게시글들을 모아서 보기위해 작업을 한다고 가정할 경우, 백엔드에서는 A + B라는 값을 리턴해줘야 하나요? 이부분이 잘 모르겠어요.

혼자서 작업할땐 프론트에다가 그냥 유저에 대한 값은 Model로 넘겨주고 B라는 값을 따로 불러와서 얘도 Model로 넘겨줫었는데 B에 페이징을 적용하다보니 A에 대한 값이 누락이 되더라구요.

세션이나 쿠키같으 값으로 A에 대한 값을 넘겨줘야 하나요 아니면 B에 페이징 적용시킨 값을 강제로 Serializer같은거 이용해서 값 안에 A에 대한 값을 추가시켜줘야 하나요 ??? 




0
  • 답변 4

  • rebwon
    433
    2020-08-19 14:05:08

    특정 유저의 게시글 목록이라면 어떤 값이 필요하냐에 따라 다르겠지만, 게시글 목록만 필요한 거라면 게시글 테이블만 Select해서 where 절에 유저 id값 비교해서 넘겨주면 될것 같네요.

  • 흑우냥이
    150
    2020-08-19 14:14:06

    답변감사합니다.

    유저에 대한 값은 기본적인 이름정도와 해당 유저인지 확인하는 인증 여부만 확인하면 될것같습니다.

    게시글의 경우는 말씀하신것 처럼했는데 그냥 게시글에 대한 값만 넘겨줘도 프론트에서 처리하는데 문제가 없을지가 궁금합니다.

  • rebwon
    433
    2020-08-19 14:33:11

    프론트 화면에서 어떤 정보가 필요하냐에 따라서 유저와 게시글 정보를 취합해서 보낼지 말지 결정하시면 됩니다. rest api에서는 그냥 프론트로 json 형식의 값만 넘겨주면 됩니다

  • 흑우냥이
    150
    2020-08-19 15:01:55

    문제 해결햇습니당.. 스프링에서 되게 강력한 기능 제공해주네요ㅎㅎ Page.map 써서 DTO Object 따로 만들어서 해결했습니다~

  • 로그인을 하시면 답변을 등록할 수 있습니다.