request
header
Authorization: Bearer <token>
body
name <optional>
-> name이 들어오지 않을 경우 자동으로 생성된 이름 배정
description <optional>
response
201 Created
group_id
@NoArgsConstructor
@RequiredArgsConstructor
@AllArgsConstructor
@Builder
@Getter, @Setter
@EqualsAndHashCode
@ToString
@Data
@Table
@Entity, @Controller, @Service ...
08162021
배운거
entity와 그의 DTO를 생성한다.
아래와 같이 매퍼 인터페이스를 만든다.
@Mapper
public interface GroupMapper {
// INSTANCE로 이름 짓는 건 컨벤션이라고 한다.
GroupMapper INSTANCE = Mappers.getMapper(GroupMapper.class);
// 엔티티와 DTO에 변수 명이 다를 경우 속성을 넣어준다. source = parameter, target = return
Group groupDtoToGroup(GroupDTO groupDto);
}
매퍼를 쓴다.
@Test
public void map() {
GroupDTO groupDTO = new GroupDTO("name", "description");
Group group = GroupMapper.INSTANCE.groupDtoToGroup(Group);
assertThat(group).isNotNull;
assertThat(group.getName()).isEqualTo("name");
}
오늘의 삽질
그룹 생성 인수테스트를 만들고 필요한 그룹엔티티, 레파지토리, 컨트롤러까지 만든 후 테스트를 실행시켰더니 에러가 떴다.
Error executing DDL "대충 테이블 생성 쿼리문"
검색해보다가 엔티티명으로 만든 Group이 SQL 예약어인 걸 알게됐다. @Table의 name 속성을 이용해 테이블 이름을 바꿔주어야 한다.