Skip to content

Commit

Permalink
Merge pull request #45 from KORAD1004/feature/my-cource
Browse files Browse the repository at this point in the history
♻️Refactor: swagger description 수정 입니다.
  • Loading branch information
Jindongleee authored Oct 11, 2024
2 parents 078c5c5 + e493c3e commit 2a39c14
Show file tree
Hide file tree
Showing 7 changed files with 104 additions and 10 deletions.
Original file line number Diff line number Diff line change
@@ -1,6 +1,13 @@
package com.korad1004.back_end.category.controller;


import io.swagger.v3.oas.annotations.Operation;
import io.swagger.v3.oas.annotations.media.ArraySchema;
import io.swagger.v3.oas.annotations.media.Content;
import io.swagger.v3.oas.annotations.media.Schema;
import io.swagger.v3.oas.annotations.responses.ApiResponse;
import io.swagger.v3.oas.annotations.responses.ApiResponses;
import io.swagger.v3.oas.annotations.tags.Tag;
import lombok.AllArgsConstructor;
import com.korad1004.back_end.category.dto.CategoryNameDto;
import com.korad1004.back_end.category.entity.Category;
Expand All @@ -15,15 +22,31 @@
@RestController
@RequestMapping("api/category")
@AllArgsConstructor
@Tag(name="category",description = "가볼만한 곳 카테고리 항목 저장 API")
public class CategoryController {

private final CategoryService categoryService;

//카테고리 이름 등록
@PostMapping
@Operation(
summary = "<가볼만 한 곳> 카테 고리 항목 저장",
description = " 역사적, 나홀로, 정적인, 상징적, 활동적, 아이들"+
" 등과 같은 카테고리 저장이 가능한 엔드 포인트"
)
@ApiResponses(value={
@ApiResponse(
responseCode = "201",
description = "카테고리 저장 성공",
content = @Content(
mediaType = "application/json",
array = @ArraySchema(schema = @Schema(implementation = CategoryNameDto.class))
//특정 Dto를 Responses에 실어준다.
)
)
})
public ResponseEntity<Category> createCategory(@RequestBody CategoryNameDto categoryNameDto){

Category category=categoryService.createCategory(categoryNameDto);
categoryService.createCategory(categoryNameDto);

return ResponseEntity.created(URI.create("api/category")).build();
}
Expand Down
Original file line number Diff line number Diff line change
Expand Up @@ -5,7 +5,11 @@
import com.korad1004.back_end.category.dto.GetAllSpotOfString;
import com.korad1004.back_end.category.dto.HotspotInfoDto;
import com.korad1004.back_end.category.service.HotspotService;
import org.springframework.http.HttpStatus;
import io.swagger.v3.oas.annotations.Operation;
import io.swagger.v3.oas.annotations.media.Content;
import io.swagger.v3.oas.annotations.media.Schema;
import io.swagger.v3.oas.annotations.responses.ApiResponse;
import io.swagger.v3.oas.annotations.responses.ApiResponses;
import org.springframework.http.ResponseEntity;
import org.springframework.web.bind.annotation.GetMapping;
import org.springframework.web.bind.annotation.PathVariable;
Expand All @@ -30,15 +34,49 @@ public HotspotController(HotspotService hotspotService){

//각 카테고리별 장소 정보 등록
@PostMapping("/{category}")
@Operation(
summary = "<가볼만 한 곳>특정 카테고리에 대한 장소 등록",
description = "특정 카테고리를 Path로 입력 합니다."+
"장소 제목, 이미지 주소, 장소 주소, 장소 번호, 서브타이틀을 받아옵니다."+
"특정 장소에 대한 정보를 저장합니다."
)
@ApiResponses(value = {
@ApiResponse(
responseCode = "201",
description = "장소 등록 성공",
content = @Content(
mediaType = "application/json",
schema = @Schema(implementation = HotspotInfoDto.class)
)
),
@ApiResponse(responseCode = "400", description = "Bad Request - 유효하지 않은 입력값 오로지 Path가 String 타입")

})
public ResponseEntity<Void> createHotspot(@RequestBody HotspotInfoDto hotspotInfoDto, @PathVariable(name="category") String category){

hotspotService.createHotspotInfo(hotspotInfoDto,category);

return ResponseEntity.status(HttpStatus.CREATED).build();
return ResponseEntity.created(URI.create("/api/hotspot/{category}")).build();
}


//카테고리 요청시 해당 되는 카테고리 장소 전부 리스트업
@GetMapping("/{category}")
@Operation(
summary = "<가볼만 한 곳> 특정 카테고리에 대한 장소 리스트업",
description = "특정 카테고리를 Path로 입력 시 "+
" 특정 카테고리와 관련된 모든 장소를 리스트업 해준다."
)
@ApiResponses(value = {
@ApiResponse(
responseCode = "200",
description = "특정 카테고리에 대한 장소 리스트업 성공",
content = @Content(
mediaType = "application.json",
schema = @Schema(type = "array",implementation = HotspotInfoDto.class)
)
)
})
public ResponseEntity<List<HotspotInfoDto>> getHotspotOfCategory(@PathVariable(name="category") String category) {

hotspotService.getHotspotList(category);
Expand All @@ -52,6 +90,7 @@ public ResponseEntity<List<HotspotInfoDto>> getHotspotOfCategory(@PathVariable(n

//무한 GET요청 모든 HOTSPOT 넘겨주기
@GetMapping

public ResponseEntity<List<GetAllHotspotInfo>> getAllHotspot(){

return ResponseEntity.ok(hotspotService.getAllHotspot());
Expand All @@ -66,7 +105,23 @@ public ResponseEntity<Void> createHotspotCategory() {
return ResponseEntity.created(URI.create("/all-place-insert")).build();
}


@GetMapping(value = {"/search/", "/search/{string}"})
@Operation(
summary = "<나의 여행 일정 짜기> 장소 검색",
description = " 한 글자 한 글자에 대한" +
" 무한 Get 요청 내림차순 되어있음"
)
@ApiResponses(value = {
@ApiResponse(
responseCode = "200",
description = "특정 글자에 대한 장소들 보여 주기 성공",
content = @Content(
mediaType = "application.json",
schema = @Schema(type = "array",implementation = GetAllSpotOfString.class)
)
)
})
public ResponseEntity<List<GetAllSpotOfString>> getAllSpotOfString(@PathVariable(required = false) String string){

if (string == null) {
Expand Down
Original file line number Diff line number Diff line change
@@ -1,11 +1,14 @@
package com.korad1004.back_end.category.dto;

import io.swagger.v3.oas.annotations.media.Schema;
import lombok.Getter;
import lombok.Setter;

@Getter
@Setter
@Schema(description = "카테고리 전송 객체")
public class CategoryNameDto {

@Schema (description = "카테고리 이름",example = "정적인")
private String categoryName;
}
Original file line number Diff line number Diff line change
@@ -1,16 +1,26 @@
package com.korad1004.back_end.category.dto;

import com.korad1004.back_end.category.entity.Hotspot;
import io.swagger.v3.oas.annotations.media.Schema;
import lombok.Getter;
import lombok.Setter;

@Getter
@Setter
@Schema(description = "나의 여행 일정 짜기 글자 검색 시 장소 리스트 업")
public class GetAllSpotOfString {
private Long id;

@Schema(description = "장소 제목",example = "경주 코라드 공원")
private String title;

@Schema(description = "장소 주소", example = "경주 문화 공원 34길")
private String address;

@Schema(description = "장소 위도",example = "34.5542321")
private String latitude;

@Schema(description = "장소 경도",example = "73.4142432")
private String longitude;

public static GetAllSpotOfString from(Hotspot hotspot){
Expand Down
Original file line number Diff line number Diff line change
@@ -1,22 +1,28 @@
package com.korad1004.back_end.category.dto;

import io.swagger.v3.oas.annotations.media.Schema;
import lombok.Getter;
import lombok.Setter;
import com.korad1004.back_end.category.entity.Hotspot;

@Getter
@Setter
@Schema(description = "특정 카테고리에 대한 장소 저장 객체")
//제목, 주소, 영업시간, 장소 번호, 도메인주소 등록 dto
public class HotspotInfoDto {

@Schema(description = "장소 제목",example = "불국사")
private String title;

private String image;

@Schema(description = "장소 주소",example = "서울특별시 양천구 ...")
private String address;

@Schema(description = "장소 번호",example = "094-580-743")
private String phone_num;

@Schema(description = "장소 소개",example = "경치가 아름다운 곳")
private String subTitle;

public static HotspotInfoDto from(Hotspot hotspot){
Expand Down
Original file line number Diff line number Diff line change
Expand Up @@ -23,12 +23,12 @@ public CategoryService(CategoryRepository categoryRepository){


@Transactional //카테고리 메인 이름 생성
public Category createCategory(CategoryNameDto categoryNameDto){
public void createCategory(CategoryNameDto categoryNameDto){
Category category =new Category();

category.setCategoryName(categoryNameDto.getCategoryName());

return categoryRepository.save(category);
categoryRepository.save(category);
}

}
Original file line number Diff line number Diff line change
Expand Up @@ -115,10 +115,7 @@ public List<GetAllHotspotInfo> getAllHotspot(){
List<GetAllHotspotInfo> getAllHotspotInfoList = new ArrayList<>();

for(Hotspot hotspot:hotspotList){
GetAllHotspotInfo getAllHotspotInfo = new GetAllHotspotInfo();
getAllHotspotInfo.setId(hotspot.getId());
getAllHotspotInfo.setTitle(hotspot.getTitle());
getAllHotspotInfo.setAddress(hotspot.getAddress());
GetAllHotspotInfo getAllHotspotInfo=GetAllHotspotInfo.from(hotspot);
getAllHotspotInfoList.add(getAllHotspotInfo);
}

Expand Down

0 comments on commit 2a39c14

Please sign in to comment.