본문 바로가기

스파르타코딩클럽(내일배움캠프)

스파르타코딩클럽 내일배움캠프 11주차 1일

728x90

숙련과제하면서 문제점이 있었던것을 정리해보았다.

[Controller]

@RestController
@RequiredArgsConstructor //private final 선언해줘야

이것을 선언해줘야했다.


[Dto]

불변객체를 보장해야한다.


[Entity]

연관관계

Comments

@ManyToOne
@JoinColumn(name = "memo_id", nullable = false)
private Memo memo;


public Comments(CommentRequestDto commentRequestDto,Memo memo)
{
    this.username = commentRequestDto.getUserName();
    this.contents = commentRequestDto.getContents();
    this.pwd = commentRequestDto.getPwd();
    this.memo = memo;
}

Memo

    @ManyToOne
    @JoinColumn(name = "USER_ID", nullable = false)
    private User user;

//    @OneToMany(mappedBy = "memo",cascade = CascadeType.ALL)
////    @JoinColumn(name = "Comment_id", nullable = false)
//    private List<Comments> comments = new ArrayList<>();

    public Memo(MemoRequestDto requestDto,User user) {
        this.username = requestDto.getUserName();
        this.contents = requestDto.getContents();
        this.title = requestDto.getTitle();
        this.pwd = requestDto.getPwd();
        this.user = user;
    }

Memo와 comments간 onetomany와 manytoone관계를 매핑시켜줘야된다 생각해서 one to many를 적어줬는데, 에러가난다 ㅠㅠ 주석처리하니 잘되는데 그이유를 좀 더 공부해야겠다.


[Repository]

public interface MemoRepository extends JpaRepository<Memo, Long> {
//    Memo findById(Long id);

    List<Memo> findAllByOrderByModifiedAtDesc();
}

findbyid 와 findall은 공통 매서드이므로, 굳이 추가해서 중복되게 안만들어도 된다.


[postman]

 

login만

pm.environment.set('token'postman.getResponseHeader('Authorization')); 이구문을 tests에 넣어줘야 제대로 토큰이 넣어진다.
게시글이나 댓글만들때도 저문구를 넣어주면 토큰을 계속 갱신해주기때문에 안들어간다.

import만 보고 의존성관계를 알수있기때문에 매우중요!!!!!!!!!!!!


 

728x90