Inflearn

인프런 워밍업 클럽 0기 - BE 2일차 과제

느리지만 꾸준하게 2024. 2. 21. 02:01

문제 1

두 수를 입력하면, 다음과 같은 결과 나오는 GETAPI를 만들어 보자!

  • path : /api/v1/calc이다.
  • 쿼리 파라미터 : num1, num2

1. CalculatorController

@RestController
public class CalculatorController {


@GetMapping("/api/v1/calc")
    public Calc Calculator(CalcNumber request) {
        return new Calc(request);
    }

}

 

 

2. Calc Class

package com.group.libraryapp.homework;

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;
    }
}

 

 

3. CalcNumber Class

package com.group.libraryapp.homework;

public class CalcNumber {

    private int num1;
    private int num2;

    public CalcNumber(int num1, int num2) {
        this.num1 = num1;
        this.num2 = num2;
    }

    public int getNum2() {
        return num2;
    }

    public int getNum1() {
        return num1;
    }
}

 

3. 결과

 

 

 

 

 

 

문제 2

날짜를 입력하면, 몇 요일인지 알려주는 GET API를 만들어 보자!

path와 쿼리 파라미터는 임의로 만들어도 상관없다.

 

1. Controller

@GetMapping("/api/v1/day-of-the-week-jay")
    public Day DayofTheWeek(String date) {
        LocalDate parsed = LocalDate.parse(date);
        return new Day(String.valueOf(parsed.getDayOfWeek()).substring(0, 3));
    }

 

2. Day Class

package com.group.libraryapp.homework;

public class Day {

    private String day;

    public Day(String day) {
        this.day = day;
    }

    public String getDay() {
        return day;
    }
}

 

3. 결과

 

 

 

 

문제 3

여러 수를 받아 총 합을 반환하는 POST API를 만들어 보자!

API에서 받는 Body는 다음과 같은 형태이다. (HINT : 요청을 받는 DTO에서 List를 갖고 있으면 JSON의 배열을 받을 수 있습니다.)

 

1. ListNum

package com.group.libraryapp.homework;

import java.util.List;

public class ListNum {

    private List<Integer> numbers;
    public ListNum(){
    }

    public ListNum(List<Integer> numbers) {
        this.numbers = numbers;
    }

    public List<Integer> getNumbers() {
        return numbers;
    }
}

 

 

 

2. CalculatorController

@RestController
public class CalculatorController {

@PostMapping("/list")
    public int ListAdd(@RequestBody ListNum request) {
        int sum = 0;
        for(Integer num : request.getNumbers()) {
            sum += num;
        }
        return sum;
    }   
}

 

 

 

3. 결과