![[인프런 워밍업 클럽 BE 0기] 2일차 과제](https://cdn.inflearn.com/public/files/blogs/a5725ead-5f00-4b76-b1d5-bccf9364b20a/Inflearn_warming-up_clup.png)
[인프런 워밍업 클럽 BE 0기] 2일차 과제
2024.02.20
문제 1
두 수를 입력하고, 다음과 같은 결과가 나오는 GET
API를 만들어보자!
Controller code
@GetMapping("/api/v1/calc")
public CalcResponse calculator(NumberRequest request){
return new CalcResponse(request.getNum1(), request.getNum2());
}
Dto code
public class CalcResponse {
private int add;
private int minus;
private int multiply;
public CalcResponse(int num1, int num2) {
this.add = num1 + num2;
this.minus = num1 - num2;
this.multiply = num1 * num2;
}
public int getAdd() {
return add;
}
public int getMinus() {
return minus;
}
public int getMultiply() {
return multiply;
}
}
public class NumListRequest {
private List<Integer> numbers;
public List<Integer> getNumbers() {
return numbers;
}
}
Reuslt
문제 2
날짜를 입력하면, 몇 요일인지 알려주는 GET
API를 만들어 보자!
Controller code
@GetMapping("/api/v1/week")
public WeekResponse getWeek(DateRequest day){
return new WeekResponse(day.getDay());
}
Dto code
public class DateRequest { private String date; public DateRequest(String day) { this.date = day; } public LocalDate getDay() { return LocalDate.parse(date); } }
public class WeekResponse { private DayOfWeek datOfTheWeek; public WeekResponse(LocalDate day) { this.datOfTheWeek = day.getDayOfWeek(); } public DayOfWeek getDatOfTheWeek() { return datOfTheWeek; } }
LocalDate.parse(date)
:yyyy-MM-dd
형태의 문자열을 LocalDate 객체로 변환LocalDate
의getDayOfWeek()
메소드 : 해당 날짜 객체의 요일을 DayOfWeek 열거체를 이용하여 반환Reuslt
문제 3
여러 수의 총 합을 반환하는 POST API를 만들어 보자!
Controller code
@PostMapping("/api/v1/add")
public int addNum(@RequestBody NumListRequest request){
return request.getNumbers().stream().mapToInt(i -> i).sum();
}
mapToInt(i->i)
: 스트림을 IntStream
으로 변환
Dto code
public class NumListRequest { private List<Integer> numbers; public List<Integer> getNumbers() { return numbers; } }
Reuslt
댓글을 작성해보세요.