내일배움캠프 D+78

유제협·2021년 11월 30일
0

TeamProject API 설계

✍🏻 메인페이지 / 사진페이지

기능MethodURLReturn
게시글 가져오기GET/api/uploadUpload
강아지 선택 값 가져오기GET/api/uploadUpload
강아지 사진 가져오기GET/api/uploadUpload
프로필 정보 가져오기GET/api/User{userId}User
프로필 사진 가져오기GET/api/User{userId}User
  • 내가 구현하는 부분은 다 GET으로 팀원 분들의 URL과 Repository를 설계 해야 돼서 오늘 꽤 많은 난관이 있었다.

문제 POST부분이 아직 구현이 안돼 직접 작성하였다.(이 부분은 팀원분이 작성하신 부분이 있었지만 내 설계랑 맞지않아 조금 수정하였고 내일 회의 해봐야겠다.)

Feed.java (올리는 파일 정보)

@Entity
@Getter
@NoArgsConstructor
@AllArgsConstructor
public class Feed extends Timestamped {
    @GeneratedValue(strategy = GenerationType.AUTO)
    @Id
    private Long idx;                   // ID
                                        //
    @Column(name = "writerIdx")
    private String userId;              // 사용자 아이디
    @Column(nullable = true)
    private String updateDate;          // 글 생성일자 또는 변경일자
    @Column(nullable = true)
    private String mainImagePath;       // 글 메인 이미지 파일명(ex-filename.png)
    @Column(nullable = false)
    private String content;             // 글 내용
    @Column(nullable = false)
    private String address;             // 글 or 사진을 올린 장소
    @Column(nullable = false)
    private String size;                // 강아지 크기
    @Column(nullable = false)
    private Long likeCount;             // 글 좋아요 개수
                                        //
    public Feed(FeedDto feedDto){
        this.idx = feedDto.getIdx();
        this.userId = feedDto.getUserId();
        this.updateDate = feedDto.getUpdateDate();
        this.mainImagePath = feedDto.getMainImagePath();
        this.content = feedDto.getContent();
        this.address = feedDto.getAddress();
        this.size = feedDto.getSize();
        this.likeCount = feedDto.getLikeCount();
    }
}

User.java (사용자 정보)

@Getter
@Entity
@NoArgsConstructor
@AllArgsConstructor
public class User {
    @GeneratedValue(strategy = GenerationType.AUTO)
    @Id
    private Long idx;
                                    //
    @Column(name = "writerIdx")
    private String userId;          // 사용자 아이디
                                    //
    @Column(nullable = false)
    private String ProfileImg;      // 프로필 사진
}

FeedDto

@Getter
@NoArgsConstructor
@AllArgsConstructor
public class FeedDto {
    private Long idx;              // ID
    private String userId;         // 사용자 아이디
    private String updateDate;     // 글 생성일자 또는 변경일자
    private String mainImagePath;  // 글 메인 이미지 파일명(ex-filename.png)
    private String content;        // 글 내용
    private String address;        // 글 or 사진을 올린 장소
    private String size;           // 강아지 크기
    private Long likeCount;        // 글 좋아요 개수
}

UserDto

@Getter
@NoArgsConstructor
@AllArgsConstructor
public class UserDto {
    private Long idx;
    private String userId;          // 사용자 아이디
    private String ProfileImg;      // 프로필 사진
}

내일 내 구현 부분인 MainPage 와 PhotoPage에 해당한 Spring 부분을 구현 할 예정이다.

0개의 댓글