<aside> 👉 GET, POST API 만들기
</aside>
// CalculateResponse.java
package com.inflearn.Inflearn.Study.week02.solution1;
import lombok.Getter;
@Getter
public class CalculateResponse {
private int add;
private int minus;
private int multiply;
public CalculateResponse(int add, int minus, int multiply) {
this.add = add;
this.minus = minus;
this.multiply = multiply;
}
}
// CalculateController.java
package com.inflearn.Inflearn.Study.week02.solution1;
import org.springframework.web.bind.annotation.GetMapping;
import org.springframework.web.bind.annotation.RequestParam;
import org.springframework.web.bind.annotation.RestController;
@RestController
public class CalculateController {
@GetMapping("/api/v1/calc")
public CalculateResponse calculate(@RequestParam int num1, @RequestParam int num2) {
int addResult = num1 + num2;
int minusResult = num1 - num2;
int multiplyResult = num1 * num2;
CalculateResponse response = new CalculateResponse(addResult, minusResult, multiplyResult);
return response;
}
}
// DateResponse.java
package com.inflearn.Inflearn.Study.week02.solution2;
import lombok.Getter;
import java.time.DayOfWeek;
@Getter
public class DateResponse {
private DayOfWeek dayOfTheWeek;
public DateResponse(DayOfWeek dayOfTheWeek) {
this.dayOfTheWeek = dayOfTheWeek;
}
}
// DateController.java
package com.inflearn.Inflearn.Study.week02.solution2;
import org.springframework.web.bind.annotation.GetMapping;
import org.springframework.web.bind.annotation.RequestParam;
import org.springframework.web.bind.annotation.RestController;
import java.time.DayOfWeek;
import java.time.LocalDate;
@RestController
public class DateController {
@GetMapping("/api/v1/day-of-the-week")
public DateResponse getDate(@RequestParam LocalDate date) {
DayOfWeek day = date.getDayOfWeek();
DateResponse response = new DateResponse(day);
return response;
}
}
// NumbersRequest.java
package com.inflearn.Inflearn.Study.week02.solution3;
import lombok.Getter;
import java.util.List;
@Getter
public class NumbersRequest {
private List<Integer> numbers;
public NumbersRequest(List<Integer> numbers) {
this.numbers = numbers;
}
/*기본 생성자 필요 */
public NumbersRequest() {
}
}
// NumbersController.java
package com.inflearn.Inflearn.Study.week02.solution3;
import org.springframework.web.bind.annotation.PostMapping;
import org.springframework.web.bind.annotation.RequestBody;
import org.springframework.web.bind.annotation.RestController;
@RestController
public class NumbersController {
@PostMapping("/api/v1/numbers")
public Integer addNumbers(@RequestBody NumbersRequest request) {
int sum = 0;
for(Integer num : request.getNumbers()) {
sum += num;
}
return sum;
}
}
@RequestParam
을 사용해서 url에 parameter로 넣어준다. → Request Dto는 필요없다.@RequestBody
사용하여 request 값을 Java 객체로 변환해주자