-
Notifications
You must be signed in to change notification settings - Fork 1
Commit
This commit does not belong to any branch on this repository, and may belong to a fork outside of the repository.
* #82 category curd api 추가 * #82 test code 오류 수정 * #82 코드 정리 * #82 test code 추가 --------- Co-authored-by: hanjoo96.cho <[email protected]>
- Loading branch information
Showing
24 changed files
with
857 additions
and
16 deletions.
There are no files selected for viewing
83 changes: 83 additions & 0 deletions
83
api/src/main/java/com/ssu/commerce/book/controller/CategoryController.java
This file contains bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
Original file line number | Diff line number | Diff line change |
---|---|---|
@@ -0,0 +1,83 @@ | ||
package com.ssu.commerce.book.controller; | ||
|
||
import com.ssu.commerce.book.dto.CategoryDto; | ||
import com.ssu.commerce.book.dto.param.ChangeCategoryParamDto; | ||
import com.ssu.commerce.book.dto.param.CreateCategoryParamDto; | ||
import com.ssu.commerce.book.dto.param.GetCategoryListParamDto; | ||
import com.ssu.commerce.book.dto.request.ChangeCategoryRequestDto; | ||
import com.ssu.commerce.book.dto.request.CreateCategoryRequestDto; | ||
import com.ssu.commerce.book.dto.response.ChangeCategoryResponseDto; | ||
import com.ssu.commerce.book.dto.response.CreateCategoryResponseDto; | ||
import com.ssu.commerce.book.dto.response.DeleteCategoryResponseDto; | ||
import com.ssu.commerce.book.dto.response.GetCategoryResponseDto; | ||
import com.ssu.commerce.book.service.CategoryService; | ||
import lombok.RequiredArgsConstructor; | ||
import lombok.extern.slf4j.Slf4j; | ||
import org.springframework.data.domain.Page; | ||
import org.springframework.data.domain.Pageable; | ||
import org.springframework.lang.Nullable; | ||
import org.springframework.web.bind.annotation.*; | ||
|
||
import javax.validation.Valid; | ||
import java.util.UUID; | ||
|
||
@Slf4j | ||
@RestController | ||
@RequiredArgsConstructor | ||
@RequestMapping("/v1/category") | ||
public class CategoryController { | ||
private final CategoryService categoryService; | ||
|
||
@GetMapping | ||
public Page<GetCategoryResponseDto> getCategoryList( | ||
@Nullable @RequestParam final String name, | ||
final Pageable pageable | ||
) { | ||
log.debug("[getCategoryList]name={}", name); | ||
|
||
final Page<CategoryDto> categoryPage = categoryService.getCategoryList( | ||
GetCategoryListParamDto.builder() | ||
.name(name) | ||
.pageable(pageable) | ||
.build() | ||
); | ||
|
||
return categoryPage.map(GetCategoryResponseDto::new); | ||
} | ||
|
||
@PostMapping | ||
public CreateCategoryResponseDto registerCategory( | ||
@Valid @RequestBody final CreateCategoryRequestDto requestDto | ||
) { | ||
log.debug("[registerCategory]requestDto={}", requestDto); | ||
|
||
return CreateCategoryResponseDto.builder() | ||
.categoryId(categoryService.registerCategory(new CreateCategoryParamDto(requestDto))) | ||
.build(); | ||
} | ||
|
||
@PutMapping | ||
public ChangeCategoryResponseDto changeCategory( | ||
@Valid @RequestBody final ChangeCategoryRequestDto requestDto | ||
) { | ||
log.debug("[changeCategory]requestDto={}", requestDto); | ||
|
||
return ChangeCategoryResponseDto.builder() | ||
.categoryId( | ||
categoryService.changeCategory(new ChangeCategoryParamDto(requestDto)) | ||
.getCategoryId() | ||
) | ||
.build(); | ||
} | ||
|
||
@DeleteMapping("/{id}") | ||
public DeleteCategoryResponseDto deleteCategory( | ||
@Valid @PathVariable final UUID id | ||
) { | ||
log.debug("[deleteCategory]id={}", id); | ||
|
||
return DeleteCategoryResponseDto.builder() | ||
.categoryId(categoryService.deleteCategory(id)) | ||
.build(); | ||
} | ||
} |
25 changes: 25 additions & 0 deletions
25
api/src/main/java/com/ssu/commerce/book/dto/CategoryDto.java
This file contains bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
Original file line number | Diff line number | Diff line change |
---|---|---|
@@ -0,0 +1,25 @@ | ||
package com.ssu.commerce.book.dto; | ||
|
||
import com.ssu.commerce.book.model.Category; | ||
import lombok.AllArgsConstructor; | ||
import lombok.Builder; | ||
import lombok.EqualsAndHashCode; | ||
import lombok.Getter; | ||
|
||
import java.util.UUID; | ||
|
||
@Getter | ||
@Builder | ||
@EqualsAndHashCode | ||
@AllArgsConstructor | ||
public class CategoryDto { | ||
private UUID categoryId; | ||
private String name; | ||
private String description; | ||
|
||
public CategoryDto(Category category) { | ||
categoryId = category.getCategoryId(); | ||
name = category.getName(); | ||
description = category.getDescription(); | ||
} | ||
} |
29 changes: 29 additions & 0 deletions
29
api/src/main/java/com/ssu/commerce/book/dto/param/ChangeCategoryParamDto.java
This file contains bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
Original file line number | Diff line number | Diff line change |
---|---|---|
@@ -0,0 +1,29 @@ | ||
package com.ssu.commerce.book.dto.param; | ||
|
||
import com.ssu.commerce.book.dto.request.ChangeCategoryRequestDto; | ||
import lombok.AllArgsConstructor; | ||
import lombok.Builder; | ||
import lombok.EqualsAndHashCode; | ||
import lombok.Getter; | ||
|
||
import javax.validation.constraints.NotNull; | ||
import java.util.UUID; | ||
|
||
@Getter | ||
@EqualsAndHashCode | ||
@Builder | ||
@AllArgsConstructor | ||
public class ChangeCategoryParamDto { | ||
@NotNull | ||
private UUID categoryId; | ||
|
||
private String name; | ||
|
||
private String description; | ||
|
||
public ChangeCategoryParamDto(ChangeCategoryRequestDto requestDto) { | ||
categoryId = requestDto.getCategoryId(); | ||
name = requestDto.getName(); | ||
description = requestDto.getDescription(); | ||
} | ||
} |
25 changes: 25 additions & 0 deletions
25
api/src/main/java/com/ssu/commerce/book/dto/param/CreateCategoryParamDto.java
This file contains bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
Original file line number | Diff line number | Diff line change |
---|---|---|
@@ -0,0 +1,25 @@ | ||
package com.ssu.commerce.book.dto.param; | ||
|
||
import com.ssu.commerce.book.dto.request.CreateCategoryRequestDto; | ||
import lombok.AllArgsConstructor; | ||
import lombok.Builder; | ||
import lombok.EqualsAndHashCode; | ||
import lombok.Getter; | ||
|
||
import javax.validation.constraints.NotBlank; | ||
|
||
@Getter | ||
@EqualsAndHashCode | ||
@Builder | ||
@AllArgsConstructor | ||
public class CreateCategoryParamDto { | ||
@NotBlank | ||
private String name; | ||
|
||
private String description; | ||
|
||
public CreateCategoryParamDto(CreateCategoryRequestDto requestDto) { | ||
name = requestDto.getName(); | ||
description = requestDto.getDescription(); | ||
} | ||
} |
14 changes: 14 additions & 0 deletions
14
api/src/main/java/com/ssu/commerce/book/dto/param/GetCategoryListParamDto.java
This file contains bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
Original file line number | Diff line number | Diff line change |
---|---|---|
@@ -0,0 +1,14 @@ | ||
package com.ssu.commerce.book.dto.param; | ||
|
||
import lombok.Builder; | ||
import lombok.EqualsAndHashCode; | ||
import lombok.Getter; | ||
import org.springframework.data.domain.Pageable; | ||
|
||
@Getter | ||
@EqualsAndHashCode | ||
@Builder | ||
public class GetCategoryListParamDto { | ||
private String name; | ||
private Pageable pageable; | ||
} |
19 changes: 19 additions & 0 deletions
19
api/src/main/java/com/ssu/commerce/book/dto/param/query/SelectCategoryListParamDto.java
This file contains bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
Original file line number | Diff line number | Diff line change |
---|---|---|
@@ -0,0 +1,19 @@ | ||
package com.ssu.commerce.book.dto.param.query; | ||
|
||
import com.ssu.commerce.book.dto.param.GetCategoryListParamDto; | ||
import lombok.AllArgsConstructor; | ||
import lombok.Builder; | ||
import lombok.EqualsAndHashCode; | ||
import lombok.Getter; | ||
|
||
@Getter | ||
@EqualsAndHashCode | ||
@Builder | ||
@AllArgsConstructor | ||
public class SelectCategoryListParamDto { | ||
private String name; | ||
|
||
public SelectCategoryListParamDto(GetCategoryListParamDto paramDto) { | ||
name = paramDto.getName(); | ||
} | ||
} |
20 changes: 20 additions & 0 deletions
20
api/src/main/java/com/ssu/commerce/book/dto/request/ChangeCategoryRequestDto.java
This file contains bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
Original file line number | Diff line number | Diff line change |
---|---|---|
@@ -0,0 +1,20 @@ | ||
package com.ssu.commerce.book.dto.request; | ||
|
||
import lombok.*; | ||
|
||
import javax.validation.constraints.NotNull; | ||
import java.util.UUID; | ||
|
||
@Getter | ||
@EqualsAndHashCode | ||
@Builder | ||
@NoArgsConstructor | ||
@AllArgsConstructor | ||
public class ChangeCategoryRequestDto { | ||
@NotNull | ||
private UUID categoryId; | ||
|
||
private String name; | ||
|
||
private String description; | ||
} |
17 changes: 17 additions & 0 deletions
17
api/src/main/java/com/ssu/commerce/book/dto/request/CreateCategoryRequestDto.java
This file contains bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
Original file line number | Diff line number | Diff line change |
---|---|---|
@@ -0,0 +1,17 @@ | ||
package com.ssu.commerce.book.dto.request; | ||
|
||
import lombok.*; | ||
|
||
import javax.validation.constraints.NotBlank; | ||
|
||
@Getter | ||
@EqualsAndHashCode | ||
@Builder | ||
@NoArgsConstructor | ||
@AllArgsConstructor | ||
public class CreateCategoryRequestDto { | ||
@NotBlank | ||
private String name; | ||
|
||
private String description; | ||
} |
14 changes: 14 additions & 0 deletions
14
api/src/main/java/com/ssu/commerce/book/dto/response/ChangeCategoryResponseDto.java
This file contains bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
Original file line number | Diff line number | Diff line change |
---|---|---|
@@ -0,0 +1,14 @@ | ||
package com.ssu.commerce.book.dto.response; | ||
|
||
import lombok.*; | ||
|
||
import java.util.UUID; | ||
|
||
@Getter | ||
@EqualsAndHashCode | ||
@Builder | ||
@NoArgsConstructor | ||
@AllArgsConstructor | ||
public class ChangeCategoryResponseDto { | ||
private UUID categoryId; | ||
} |
14 changes: 14 additions & 0 deletions
14
api/src/main/java/com/ssu/commerce/book/dto/response/CreateCategoryResponseDto.java
This file contains bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
Original file line number | Diff line number | Diff line change |
---|---|---|
@@ -0,0 +1,14 @@ | ||
package com.ssu.commerce.book.dto.response; | ||
|
||
import lombok.*; | ||
|
||
import java.util.UUID; | ||
|
||
@Getter | ||
@EqualsAndHashCode | ||
@Builder | ||
@NoArgsConstructor | ||
@AllArgsConstructor | ||
public class CreateCategoryResponseDto { | ||
private UUID categoryId; | ||
} |
14 changes: 14 additions & 0 deletions
14
api/src/main/java/com/ssu/commerce/book/dto/response/DeleteCategoryResponseDto.java
This file contains bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
Original file line number | Diff line number | Diff line change |
---|---|---|
@@ -0,0 +1,14 @@ | ||
package com.ssu.commerce.book.dto.response; | ||
|
||
import lombok.*; | ||
|
||
import java.util.UUID; | ||
|
||
@Getter | ||
@EqualsAndHashCode | ||
@Builder | ||
@NoArgsConstructor | ||
@AllArgsConstructor | ||
public class DeleteCategoryResponseDto { | ||
private UUID categoryId; | ||
} |
23 changes: 23 additions & 0 deletions
23
api/src/main/java/com/ssu/commerce/book/dto/response/GetCategoryResponseDto.java
This file contains bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
Original file line number | Diff line number | Diff line change |
---|---|---|
@@ -0,0 +1,23 @@ | ||
package com.ssu.commerce.book.dto.response; | ||
|
||
import com.ssu.commerce.book.dto.CategoryDto; | ||
import lombok.*; | ||
|
||
import java.util.UUID; | ||
|
||
@Getter | ||
@EqualsAndHashCode | ||
@Builder | ||
@NoArgsConstructor | ||
@AllArgsConstructor | ||
public class GetCategoryResponseDto { | ||
private UUID categoryId; | ||
private String name; | ||
private String description; | ||
|
||
public GetCategoryResponseDto(CategoryDto categoryDto) { | ||
categoryId = categoryDto.getCategoryId(); | ||
name = categoryDto.getName(); | ||
description = categoryDto.getDescription(); | ||
} | ||
} |
This file contains bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
This file contains bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
13 changes: 13 additions & 0 deletions
13
api/src/main/java/com/ssu/commerce/book/persistence/CategoryRepositoryCustom.java
This file contains bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
Original file line number | Diff line number | Diff line change |
---|---|---|
@@ -0,0 +1,13 @@ | ||
package com.ssu.commerce.book.persistence; | ||
|
||
import com.ssu.commerce.book.dto.param.query.SelectCategoryListParamDto; | ||
import com.ssu.commerce.book.model.Category; | ||
import org.springframework.data.domain.Page; | ||
import org.springframework.data.domain.Pageable; | ||
|
||
public interface CategoryRepositoryCustom { | ||
Page<Category> selectCategoryPage( | ||
final SelectCategoryListParamDto paramDto, | ||
final Pageable pageable | ||
); | ||
} |
Oops, something went wrong.