[인프런 워밍업 클럽 BE 0기] 2일차 과제
11개월 전
문제 1
두 수를 입력하면, 다음과 같은 결과 나오는 GET
API를 만들어 보자!
path :
/api/v1/calc
이다.쿼리 파라미터 : num1, num2
@GetMapping("/api/v1/calc")
public Calc Calculator(CalcNumber request) {
return new Calc(request);
}
public class CalcNumber {
private int num1;
private int num2;
public CalcNumber(int num1, int num2) {
this.num1 = num1;
this.num2 = num2;
}
public int getNum1() {
return num1;
}
public int getNum2() {
return num2;
}
}
public class Calc {
private int add;
private int minus;
private int multiply;
public Calc(CalcNumber number) {
this.add = number.getNum1() + number.getNum2();
this.minus = number.getNum1() - number.getNum2();
this.multiply = number.getNum1() * number.getNum2();
}
public int getAdd() {
return add;
}
public int getMinus() {
return minus;
}
public int getMultiply() {
return multiply;
}
}
결과
문제 2
날짜를 입력하면, 몇 요일인지 알려주는 GET
API를 만들어 보자!
path와 쿼리 파라미터는 임의로 만들어도 상관없다.
@GetMapping("/api/v1/day-of-the-week")
public Day DayofWeek(String date) {
LocalDate parsed = LocalDate.parse(date);
return new Day(String.valueOf(parsed.getDayOfWeek()).substring(0, 3));
}
public class Day {
private String day;
public Day(String day) {
this.day = day;
}
public String getDay() {
return day;
}
}
결과
문제 3
여러 수를 받아 총 합을 반환하는 POST
API를 만들어 보자!
API에서 받는 Body는 다음과 같은 형태이다. (HINT
: 요청을 받는 DTO에서 List
를 갖고 있으면 JSON의 배열을 받을 수 있습니다.)
@PostMapping("/list")
public int ListAdd(@RequestBody listNum request) {
int sum = 0;
for(Integer num : request.getNumbers()) {
sum += num;
}
return sum;
}
public class listNum {
private List<Integer> numbers;
public listNum() {
}
public listNum(List<Integer> numbers) {
this.numbers = numbers;
}
public List<Integer> getNumbers() {
return numbers;
}
}
결과
댓글을 작성해보세요.