Skip to content

Commit

Permalink
Merge pull request #73 from Happy-HOBAK/docs/#72
Browse files Browse the repository at this point in the history
[#72] Swaggerμ—μ„œ API μ„€λͺ…을 μœ„ν•œ μ• λ„ˆν…Œμ΄μ…˜ μΆ”κ°€
  • Loading branch information
KkomSang authored May 13, 2024
2 parents 8ffa436 + 5207059 commit 4432835
Show file tree
Hide file tree
Showing 3 changed files with 27 additions and 1 deletion.
Original file line number Diff line number Diff line change
Expand Up @@ -4,9 +4,12 @@
import com.hobak.happinessql.domain.activity.converter.ActivityConverter;
import com.hobak.happinessql.domain.activity.dto.*;
import com.hobak.happinessql.global.response.DataResponseDto;
import io.swagger.v3.oas.annotations.Operation;
import io.swagger.v3.oas.annotations.tags.Tag;
import lombok.RequiredArgsConstructor;
import org.springframework.web.bind.annotation.*;

@Tag(name="Activity", description = "ν™œλ™ κ΄€λ ¨ REST API에 λŒ€ν•œ λͺ…μ„Έλ₯Ό μ œκ³΅ν•©λ‹ˆλ‹€.")
@RestController
@RequestMapping("/api/activities")
@RequiredArgsConstructor
Expand All @@ -17,27 +20,37 @@ public class ActivityController {
private final ActivityDeleteService activityDeleteService;
private final ActivityUpdateService activityUpdateService;
private final ActivitySearchService activitySearchService;

@Operation(summary = "ν™œλ™ 리슀트 쑰회", description = "μœ μ €κ°€ 가지고 μžˆλŠ” ν™œλ™ λͺ©λ‘μ„ μ‘°νšŒν•©λ‹ˆλ‹€. 행볡 기둝 생성 μ‹œ ν™œλ™ 선택 μ°½μ—μ„œ μ‚¬μš©ν•˜λŠ” APIμž…λ‹ˆλ‹€.")
@GetMapping
public DataResponseDto<ActivityListResponseDto> getActivities(@RequestParam Long userId) {
ActivityListResponseDto response = activityListService.getActivities(userId);
return DataResponseDto.of(response, "μ‚¬μš©μžμ˜ λͺ¨λ“  μΉ΄ν…Œκ³ λ¦¬λ³„ ν™œλ™μ„ μ„±κ³΅μ μœΌλ‘œ μ‘°νšŒν–ˆμŠ΅λ‹ˆλ‹€.");
}

@Operation(summary = "ν™œλ™ μΆ”κ°€", description = "기타 μΉ΄ν…Œκ³ λ¦¬μ— ν™œλ™μ„ μΆ”κ°€ν•©λ‹ˆλ‹€.")
@PostMapping
public DataResponseDto<ActivityResponseDto> createActivity(@RequestBody ActivityCreateRequestDto requestDto, @RequestParam Long userId){
ActivityResponseDto responseDto = activityCreateService.createActivity(requestDto,userId);
return DataResponseDto.of(responseDto,"ν™œλ™μ„ μ„±κ³΅μ μœΌλ‘œ μΆ”κ°€ν–ˆμŠ΅λ‹ˆλ‹€.");
}

@Operation(summary = "ν™œλ™ μ‚­μ œ", description = "기타 μΉ΄ν…Œκ³ λ¦¬μ— μžˆλŠ” ν™œλ™μ„ μ‚­μ œν•©λ‹ˆλ‹€.")
@DeleteMapping("/{activityId}")
public DataResponseDto<ActivityResponseDto> deleteActivity(@PathVariable Long activityId){
activityDeleteService.deleteActivity(activityId);
ActivityResponseDto responseDto = ActivityConverter.toActivityResponseDto(activityId);
return DataResponseDto.of(responseDto, "ν™œλ™μ„ μ„±κ³΅μ μœΌλ‘œ μ‚­μ œν–ˆμŠ΅λ‹ˆλ‹€.");
}

@Operation(summary = "ν™œλ™ μˆ˜μ •", description = "기타 μΉ΄ν…Œκ³ λ¦¬μ— μžˆλŠ” ν™œλ™μ„ μˆ˜μ •ν•©λ‹ˆλ‹€.")
@PutMapping("/{activityId}")
public DataResponseDto<ActivityUpdateResponseDto> updateActicity(@PathVariable Long activityId, @RequestBody ActivityUpdateRequestDto requestDto){
ActivityUpdateResponseDto responseDto = activityUpdateService.updateActivity(activityId,requestDto);
return DataResponseDto.of(responseDto,"ν™œλ™μ„ μ„±κ³΅μ μœΌλ‘œ μˆ˜μ •ν–ˆμŠ΅λ‹ˆλ‹€.");
}

@Operation(summary = "ν™œλ™ μΆ”κ°€", description = "μœ μ €κ°€ κ°–κ³  μžˆλŠ” ν™œλ™μ„ κ²€μƒ‰ν•©λ‹ˆλ‹€. (ν™œλ™μ˜ description에 μžˆλŠ” λ‚΄μš©μ€ 아직 κ²€μƒ‰λ˜μ§€ μ•ŠμŠ΅λ‹ˆλ‹€.)")
@PostMapping("/search")
public DataResponseDto<ActivitySearchResponseDto> searchActivities(@RequestBody ActivitySearchRequestDto requestDto, @RequestParam Long userId) {
ActivitySearchResponseDto responseDto = activitySearchService.searchActivities(requestDto.getSearch(), userId);
Expand Down
Original file line number Diff line number Diff line change
Expand Up @@ -11,6 +11,9 @@
import com.hobak.happinessql.domain.user.domain.User;
import com.hobak.happinessql.domain.user.repository.UserRepository;
import com.hobak.happinessql.global.response.DataResponseDto;
import io.swagger.v3.oas.annotations.Operation;
import io.swagger.v3.oas.annotations.Parameter;
import io.swagger.v3.oas.annotations.tags.Tag;
import jakarta.validation.Valid;
import lombok.RequiredArgsConstructor;
import org.springframework.http.MediaType;
Expand All @@ -19,6 +22,7 @@

import java.util.List;

@Tag(name="Record", description = "행볡기둝 κ΄€λ ¨ REST API에 λŒ€ν•œ λͺ…μ„Έλ₯Ό μ œκ³΅ν•©λ‹ˆλ‹€.")
@RestController
@RequiredArgsConstructor
@RequestMapping("api/records")
Expand All @@ -28,7 +32,7 @@ public class RecordController {
private final RecordPagingService recordPagingService;
private final UserRepository userRepository;


@Operation(summary = "행볡 기둝 μΆ”κ°€", description = "행볡 기둝을 μƒμ„±ν•©λ‹ˆλ‹€.")
@PostMapping(consumes = MediaType.MULTIPART_FORM_DATA_VALUE)
public DataResponseDto<Object> createRecord(
@Valid @RequestPart(value="content") RecordCreateRequestDto requestDto,
Expand All @@ -54,6 +58,10 @@ public DataResponseDto<Object> createRecord(
return DataResponseDto.of(recordCreationResponseDto, "행볡 기둝이 μ €μž₯λ˜μ—ˆμŠ΅λ‹ˆλ‹€.");
}

@Operation(summary = "행볡 톺아보기", description = "μœ μ €κ°€ κ°–κ³  μžˆλŠ” 행볡 기둝을 λ¬΄ν•œ 슀크둀 λ°©μ‹μœΌλ‘œ μ‘°νšŒν•©λ‹ˆλ‹€.",
parameters = {@Parameter(name="lastRecordId", description="ν˜„μž¬κΉŒμ§€ νŽ˜μ΄μ§€μ— 그렀진 κ²Œμ‹œλ¬Ό id 쀑 κ°€μž₯ μž‘μ€ κ°’ (μ΅œμ‹ μˆœμ΄λ―€λ‘œ μ•„λž˜λ‘œ λ‚΄λ €κ°ˆμˆ˜λ‘ id값이 μ μ–΄μ§‘λ‹ˆλ‹€.)"),
@Parameter(name="size", description = "ν•œ λ²ˆμ— κ°€μ Έμ˜¬ λ ˆμ½”λ“œμ˜ 개수")
})
@GetMapping
public DataResponseDto<Object> getRecordList(@RequestParam Long lastRecordId, @RequestParam int size) {
// TODO : μž„μ‹œκ°’ -> λ‘œκ·ΈμΈν•œ μœ μ €μ˜ idλ₯Ό μ°Ύμ•„λ‚΄λŠ” 둜직으둜 λ³€κ²½
Expand Down
Original file line number Diff line number Diff line change
Expand Up @@ -7,10 +7,13 @@
import com.hobak.happinessql.domain.user.dto.UserInfoResponseDto;
import com.hobak.happinessql.domain.user.dto.UserProfileUpdateRequestDto;
import com.hobak.happinessql.global.response.DataResponseDto;
import io.swagger.v3.oas.annotations.Operation;
import io.swagger.v3.oas.annotations.tags.Tag;
import jakarta.validation.Valid;
import lombok.RequiredArgsConstructor;
import org.springframework.web.bind.annotation.*;

@Tag(name="User", description = "μœ μ € κ΄€λ ¨ REST API에 λŒ€ν•œ λͺ…μ„Έλ₯Ό μ œκ³΅ν•©λ‹ˆλ‹€.")
@RestController
@RequiredArgsConstructor
@RequestMapping("api/users")
Expand All @@ -19,6 +22,7 @@ public class UserController {
private final UserFindService userFindService;
private final UserProfileService userProfileService;

@Operation(summary = "ν”„λ‘œν•„ 쑰회", description = "μœ μ €μ˜ ν”„λ‘œν•„μ„ μ‘°νšŒν•©λ‹ˆλ‹€.")
@GetMapping("/profile")
public DataResponseDto<Object> getUserInfo() {
// TODO : μž„μ‹œκ°’ -> λ‘œκ·ΈμΈν•œ μœ μ €μ˜ idλ₯Ό μ°Ύμ•„λ‚΄λŠ” 둜직으둜 λ³€κ²½
Expand All @@ -30,6 +34,7 @@ public DataResponseDto<Object> getUserInfo() {
return DataResponseDto.of(userInfoResponseDto, "μœ μ € ν”„λ‘œν•„μ„ μ„±κ³΅μ μœΌλ‘œ μ‘°νšŒν–ˆμŠ΅λ‹ˆλ‹€.");
}

@Operation(summary = "ν”„λ‘œν•„ μˆ˜μ •", description = "μœ μ €μ˜ ν”„λ‘œν•„μ„ μˆ˜μ •ν•©λ‹ˆλ‹€. 성별과 λ‚˜μ΄λ§Œ μˆ˜μ •μ΄ κ°€λŠ₯ν•©λ‹ˆλ‹€.")
@PutMapping("/profile")
public DataResponseDto<Object> updateUserInfo(@RequestBody @Valid UserProfileUpdateRequestDto requestDto) {
Long userId = 1L;
Expand Down

0 comments on commit 4432835

Please sign in to comment.