Skip to content

Commit

Permalink
merge: spring rest docs 설정 (#65)
Browse files Browse the repository at this point in the history
  • Loading branch information
choi5798 authored Sep 27, 2023
1 parent 3f6bb58 commit 7796e6c
Show file tree
Hide file tree
Showing 19 changed files with 1,920 additions and 95 deletions.
87 changes: 87 additions & 0 deletions src/docs/asciidoc/index.adoc
Original file line number Diff line number Diff line change
@@ -0,0 +1,87 @@

= API Docs
Spring-JPA-Board
:icons: font
:source-highlighter: highlightjs
:toc: left
:toc-title: API
:toclevels: 2
:sectlinks:

== Store
=== store : save
operation::store/save[snippets='http-request,http-response']

=== category : save
operation::store/category/save[snippets='http-request,http-response']

=== image : save
operation::store/image/save[snippets='http-request,http-response,request-parts']

=== info : update
operation::store/info/update[snippets='http-request,http-response']

=== info : delete
operation::store/info/delete[snippets='http-request,http-response']

=== phone-number : update
operation::store/phone-number/update[snippets='http-request,http-response']

=== phone-number : delete
operation::store/phone-number/delete[snippets='http-request,http-response']

== Menu
=== menu : save
operation::menu/save[snippets='http-request,http-response,request-parts,request-part-request-fields']

=== menu : update
operation::menu/update[snippets='http-request,http-response,request-parts,request-part-request-fields']

== Option Group
=== Option Group : save
operation::option-group/save[snippets='http-request,http-response']

=== Option Group : update
operation::option-group/update[snippets='http-request,http-response']

=== Option Group : find
operation::option-group/find[snippets='http-request,http-response,response-fields']

=== Option Group : delete
operation::option-group/delete[snippets='http-request,http-response']

== Option
=== Option : save
operation::option/save[snippets='http-request,http-response']

=== Option : update
operation::option/update[snippets='http-request,http-response']

=== Option : find
operation::option/find[snippets='http-request,http-response,response-fields']

=== Option : delete
operation::option/delete[snippets='http-request,http-response']

== Order
=== Order : approve
operation::order/approve[snippets='http-request,http-response']

=== Order : reject
operation::order/reject[snippets='http-request,http-response']

=== Order : receive
operation::order/receive[snippets='http-request,http-response']

=== Order : ready
operation::order/ready[snippets='http-request,http-response']

=== Order : today-orders
operation::order/today-orders[snippets='http-request,http-response']

== Settlement
=== Settlement : by-order
operation::settlement/by-order[snippets='http-request,http-response']

=== Settlement : by-store
operation::settlement/by-store[snippets='http-request,http-response']
1,435 changes: 1,435 additions & 0 deletions src/docs/asciidoc/index.html

Large diffs are not rendered by default.

Original file line number Diff line number Diff line change
Expand Up @@ -12,11 +12,11 @@
import org.springframework.http.ResponseEntity;
import org.springframework.web.bind.annotation.DeleteMapping;
import org.springframework.web.bind.annotation.GetMapping;
import org.springframework.web.bind.annotation.PathVariable;
import org.springframework.web.bind.annotation.PostMapping;
import org.springframework.web.bind.annotation.PutMapping;
import org.springframework.web.bind.annotation.RequestBody;
import org.springframework.web.bind.annotation.RequestMapping;
import org.springframework.web.bind.annotation.RequestParam;
import org.springframework.web.bind.annotation.RestController;

import java.net.URI;
Expand All @@ -29,8 +29,8 @@ public class OptionController {
private final OptionService optionService;
private final OptionGroupService optionGroupService;

@GetMapping
public OptionResponse getOption(@RequestParam Long optionId) {
@GetMapping("/{optionId}")
public OptionResponse getOption(@PathVariable Long optionId) {
Option option = optionService.getOption(optionId);

return OptionResponse.from(option);
Expand All @@ -44,19 +44,19 @@ public ResponseEntity<Void> registerOption(@RequestBody OptionRequest request) {
return ResponseEntity.created(URI.create("/api/v1/options/" + optionId)).build();
}

@PutMapping
public void updateOption(@RequestBody OptionUpdateRequest request) {
@PutMapping("/{optionId}")
public void updateOption(@RequestBody OptionUpdateRequest request, @PathVariable Long optionId) {
OptionUpdateInfo optionUpdateInfo = new OptionUpdateInfo(
request.name(),
request.price(),
request.selected(),
request.optionId()
request.selected()
);
optionService.updateOption(optionUpdateInfo);

optionService.updateOption(optionUpdateInfo, optionId);
}

@DeleteMapping
public void deleteOption(@RequestParam Long optionId) {
@DeleteMapping("/{optionId}")
public void deleteOption(@PathVariable Long optionId) {
optionService.deleteOption(optionId);
}

Expand Down
Original file line number Diff line number Diff line change
Expand Up @@ -10,11 +10,11 @@
import org.springframework.http.ResponseEntity;
import org.springframework.web.bind.annotation.DeleteMapping;
import org.springframework.web.bind.annotation.GetMapping;
import org.springframework.web.bind.annotation.PathVariable;
import org.springframework.web.bind.annotation.PostMapping;
import org.springframework.web.bind.annotation.PutMapping;
import org.springframework.web.bind.annotation.RequestBody;
import org.springframework.web.bind.annotation.RequestMapping;
import org.springframework.web.bind.annotation.RequestParam;
import org.springframework.web.bind.annotation.RestController;

import java.net.URI;
Expand All @@ -26,8 +26,8 @@ public class OptionGroupController {

private final OptionGroupService optionGroupService;

@GetMapping
public OptionGroupWithOptionResponse getOptionGroup(@RequestParam Long optionGroupId) {
@GetMapping("/{optionGroupId}")
public OptionGroupWithOptionResponse getOptionGroup(@PathVariable Long optionGroupId) {
OptionGroup optionGroup = optionGroupService.getOptionGroup(optionGroupId);

return OptionGroupWithOptionResponse.from(optionGroup);
Expand All @@ -40,18 +40,18 @@ public ResponseEntity<Void> registerOptionGroup(@RequestBody OptionGroupRequest
return ResponseEntity.created(URI.create("/api/v1/option-groups/" + optionGroupId)).build();
}

@PutMapping
public void updateOptionGroup(@RequestBody OptionGroupUpdateRequest request) {
@PutMapping("/{optionGroupId}")
public void updateOptionGroup(@RequestBody OptionGroupUpdateRequest request, @PathVariable Long optionGroupId) {
OptionGroupUpdateInfo optionGroupUpdateInfo = new OptionGroupUpdateInfo(
request.name(),
request.maxOptionCount(),
request.required(),
request.optionGroupId());
optionGroupService.updateOptionGroup(optionGroupUpdateInfo);
request.required()
);
optionGroupService.updateOptionGroup(optionGroupUpdateInfo, optionGroupId);
}

@DeleteMapping
public void deleteOptionGroup(@RequestParam Long optionGroupId) {
@DeleteMapping("/{optionGroupId}")
public void deleteOptionGroup(@PathVariable Long optionGroupId) {
optionGroupService.deleteOptionGroup(optionGroupId);
}

Expand Down
Original file line number Diff line number Diff line change
@@ -1,4 +1,6 @@
package com.ray.pominowner.menu.controller.dto;

public record OptionGroupUpdateRequest(String name, int maxOptionCount, boolean required, Long optionGroupId) {
public record OptionGroupUpdateRequest(String name, int maxOptionCount, boolean required) {


}
Original file line number Diff line number Diff line change
Expand Up @@ -5,8 +5,8 @@
import java.util.List;

public record OptionGroupWithOptionResponse(
OptionGroupResponse optionGroupResponse,
List<OptionResponse> optionResponses) {
OptionGroupResponse optionGroup,
List<OptionResponse> options) {

public static OptionGroupWithOptionResponse from(OptionGroup optionGroup) {
return new OptionGroupWithOptionResponse(
Expand Down
Original file line number Diff line number Diff line change
@@ -1,4 +1,4 @@
package com.ray.pominowner.menu.controller.dto;

public record OptionUpdateRequest(String name, int price, boolean selected, Long optionId) {
public record OptionUpdateRequest(String name, int price, boolean selected) {
}
Original file line number Diff line number Diff line change
Expand Up @@ -23,8 +23,8 @@ public Long registerOptionGroup(OptionGroup optiongroup) {
return optionGroupRepository.save(optiongroup).getId();
}

public void updateOptionGroup(OptionGroupUpdateInfo optionGroupUpdateInfo) {
OptionGroup optionGroupToUpdate = getOptionGroup(optionGroupUpdateInfo.optionGroupId());
public void updateOptionGroup(OptionGroupUpdateInfo optionGroupUpdateInfo, Long optionGroupId) {
OptionGroup optionGroupToUpdate = getOptionGroup(optionGroupId);
OptionGroup updatedOptionGroup = optionGroupToUpdate.update(optionGroupUpdateInfo);
optionGroupRepository.save(updatedOptionGroup);
}
Expand Down
Original file line number Diff line number Diff line change
Expand Up @@ -29,8 +29,8 @@ public Long registerOption(Option option, OptionGroup optionGroup) {
return optionGroupAddedOption.getId();
}

public void updateOption(OptionUpdateInfo optionUpdateInfo ) {
Option option = getOption(optionUpdateInfo.optionId());
public void updateOption(OptionUpdateInfo optionUpdateInfo, Long optionId) {
Option option = getOption(optionId);
Option updatedOption = option.update(optionUpdateInfo);
optionRepository.save(updatedOption);
}
Expand Down
Original file line number Diff line number Diff line change
@@ -1,4 +1,4 @@
package com.ray.pominowner.menu.service.vo;

public record OptionGroupUpdateInfo(String name, int maxOptionCount, boolean required, Long optionGroupId) {
public record OptionGroupUpdateInfo(String name, int maxOptionCount, boolean required) {
}
Original file line number Diff line number Diff line change
@@ -1,4 +1,4 @@
package com.ray.pominowner.menu.service.vo;

public record OptionUpdateInfo(String name, int price, boolean selected, Long optionId) {
public record OptionUpdateInfo(String name, int price, boolean selected) {
}
43 changes: 43 additions & 0 deletions src/main/java/com/ray/pominowner/store/domain/BusinessHour.java
Original file line number Diff line number Diff line change
@@ -0,0 +1,43 @@
package com.ray.pominowner.store.domain;

import jakarta.persistence.Column;
import jakarta.persistence.Embeddable;
import lombok.EqualsAndHashCode;
import lombok.NoArgsConstructor;
import org.springframework.format.annotation.DateTimeFormat;
import org.springframework.util.Assert;

import java.time.LocalTime;

import static lombok.AccessLevel.PROTECTED;

@Embeddable
@EqualsAndHashCode()
@NoArgsConstructor(access = PROTECTED)
public class BusinessHour {

@Column
@DateTimeFormat(pattern = "HH:mm:ss")
private LocalTime openTime = LocalTime.MAX;

@Column
@DateTimeFormat(pattern = "HH:mm:ss")
private LocalTime closeTime = LocalTime.MAX;


public BusinessHour(LocalTime openTime, LocalTime closeTime) {
validateConstructor(openTime, closeTime);
this.openTime = openTime;
this.closeTime = closeTime;
}

private void validateConstructor(LocalTime openTime, LocalTime closeTime) {
Assert.notNull(openTime, "오픈 시간은 필수 입니다.");
Assert.notNull(closeTime, "마감 시간은 필수 입니다.");

if (openTime.isAfter(closeTime)) {
throw new IllegalArgumentException("오픈 시간은 마감 시간보다 빠를 수 없습니다.");
}
}

}
2 changes: 1 addition & 1 deletion src/main/resources/sub
Submodule sub updated from 6f9075 to 58a137
Loading

0 comments on commit 7796e6c

Please sign in to comment.