-
Notifications
You must be signed in to change notification settings - Fork 102
New issue
Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.
By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.
Already on GitHub? Sign in to your account
모집 픽스처를 생성하는 API를 구현한다. #538
Labels
기능
New feature or request
Comments
현재 Term관련된 API가 없다. 그냥 Recruitmemt Reqeust Dto에 Term 객체를 포함해서 넘겨줘야한다. data class RecruitmentData(
@field:NotBlank
@field:Size(min = 1, max = 31)
var title: String = "",
@field:NotNull
var term: TermSelectData = TermSelectData(),
@field:NotNull
var startDateTime: LocalDateTime = LocalDateTime.MIN,
@field:NotNull
var endDateTime: LocalDateTime = LocalDateTime.MIN,
@field:NotNull
var recruitable: Boolean = false,
@field:NotNull
var hidden: Boolean = true,
@field:NotNull
@field:Valid
var recruitmentItems: List<RecruitmentItemData> = emptyList(),
var id: Long = 0L
) Recruitment 생성시 termId 만 넘겨주는 API가 있을때의 문제점val recruitment = recruitment {
title = "웹 백엔드 3기"
termId = 3L
startDateTime = LocalDateTime.now().minusYears(1)
endDateTime = LocalDateTime.now().plusYears(1)
recruitable = true
hidden = true
items = items {
item(title = "프로그래밍 학습 과정과 현재 자신이 생각하는 역량은?", 1, 1000, "우아한테크코스는...")
item("프로그래밍 학습 과정과 현재 자신이 생각하는 역량은?", 2, 1500, "우아한테크코스는...")
item("프로그래밍 학습 과정과 현재 자신이 생각하는 역량은?", 3, 2000, "우아한테크코스는...")
}
}
업데이트 내역2022.08.07 기준 term Id로 조회하는 API가 존재하므로 termId만 받도록 설계 변경하였습니다. |
RestAssured vs RestTemplate vs WebClientRest Assured
RestTemplateHttpClient를 사용하는 Rest용 클라이언트이지만 테스트보다는 개발에 주로 사용 Rest Assured에서 쉽게 사용할 수 있는 대부분의 테스트 관련 기능이 부족하다.
Spring WebClient
Spring WebTestClient
결정사항RestTemplate에 비해 WebClient의 장점이 너무 명확해서 RestAssured와 WebClient를 비교해서 사용하기로 결정했습니다. 둘다 써보고 결정해보려고 했으나… WebClient사용시 컨트롤러까지 도달하지 못하는 이슈때문에 일단 RestAssured로 구현했습니다. 참고자료 |
WebClient 사용 후기
private fun postTerm1(termRequest: TermRequest): TermResponse {
// val client = WebClient.builder()
// .baseUrl("http://localhost/:$port")
// .build()
val client = WebClientConfig.create()
return client.post()
.uri("/api/terms")
.contentType(MediaType.APPLICATION_JSON)
.bodyValue(termRequest)
.retrieve()
.bodyToMono<ApiResponse<TermResponse>>()
.block()?.body!!
}
|
Sign up for free
to join this conversation on GitHub.
Already have an account?
Sign in to comment
2일
https://www.baeldung.com/spring-webclient-resttemplate
The text was updated successfully, but these errors were encountered: