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

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

문제 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

image

image

문제 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

imageimage

 

문제 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

    imageimage

댓글을 작성해보세요.