Skip to content

Conversation

@zioJioh
Copy link
Collaborator

@zioJioh zioJioh commented Sep 18, 2025

No description provided.

Comment on lines 1 to 22
[[appointment-create-normal]]
=== 일반 예약 생성

==== HTTP Request

include::{snippets}/appointment-create/http-request.adoc[]
include::{snippets}/appointment-create-normal/http-request.adoc[]

==== Request Fields

include::{snippets}/appointment-create-normal/request-fields.adoc[]

==== HTTP Response

include::{snippets}/appointment-create-normal/http-response.adoc[]
include::{snippets}/appointment-create-normal/response-fields.adoc[]

[[appointment-create-special]]
=== 섬세 예약 생성

==== HTTP Request

include::{snippets}/appointment-create-special/http-request.adoc[]
Copy link
Member

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

다른 doc 확인해서 포멧 맞춰주세요 ! (예: ==== Request Fields 이건 다 뺏습니다 !)

  • api docs 결과물 확인하여 저희 입장이 아닌 프론트 입장에서 불필요하거나 더 필요한게 있는지 확인하는 작업도 하면 좋습니다 !

Copy link
Collaborator Author

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

==== Request Fields 지웠으나
==== Request Parts 부분은 참고할 부분이 없어 유지하겠습니다.


public UUID createAppointment(AppointmentCreateRequest request,
MultipartFile requirementsImage) {
private AppointmentEntity createBaseAppointment(UUID requestShopId, UUID requestDesignerId,
Copy link
Member

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

private 함수는 일반적으로 public 함수들 밑으로 두는걸로 알고있습니다

Copy link
Collaborator Author

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

반영했습니다.

Comment on lines 81 to 87
return createBaseAppointment(request.shopId(), request.designerId(),
request.appointmentDate(), request.appointmentTime(), request.serviceName()).getId();
}

public UUID createSpecialAppointment(SpecialAppointmentCreateRequest request,
MultipartFile requirementsImage) {
AppointmentEntity appointment = createBaseAppointment(request.shopId(), request.designerId(),
Copy link
Member

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

request 다형성의 연장선으로 createBaseAppointment 함수에 request 통채로 보내는게 더 좋을 것 같습니다!

import jakarta.validation.constraints.NotNull;

public record AppointmentCreateRequest(
public record SpecialAppointmentCreateRequest(
Copy link
Member

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

request 부분에서 다형성 이용해서 겹치는 필드는 implements 받아서 할 수 있겠죠 ?

import jakarta.validation.constraints.NotBlank;
import jakarta.validation.constraints.NotNull;

public record NormalAppointmentCreateRequest(
Copy link
Member

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

request 부분에서 다형성 이용해서 겹치는 필드는 implements 받아서 할 수 있겠죠 ?

clientRepository.deleteAll();
}

@DisplayName("헤어 예약 생성 시, appointmentId를 반환한다. (Client, DesignerShop 있음 + 이미지 없음)")
Copy link
Member

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

저는 main 서비스 테스트 (정상적인 flow의 테스트)를 먼저 올리고 그 밑에 예외 테스트를 작성하는게 보기 좋다고 생각합니다 ! 추가로 서비스 로직을 조금 손 봤을 때 테스트를 수정하지 않고(메인 로직) 정상 작동했다는건 테스트를 잘 역할하고 있구나 라고 알 수 있는 부분일 것 같습니다 :)

Copy link
Collaborator Author

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

반영했습니다!

import jakarta.validation.constraints.NotBlank;
import jakarta.validation.constraints.NotNull;

public interface AppointmentBaseRequest {
Copy link
Member

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

고생하셨습니다 ! interface에서도 valid가 적용되나요 ?

@zioJioh zioJioh merged commit 360cc58 into main Sep 23, 2025
@zioJioh zioJioh deleted the feature/appointments-time-selection branch September 23, 2025 06:59
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

Labels

None yet

Projects

None yet

Development

Successfully merging this pull request may close these issues.

3 participants