2일차 과제!

조태진·2024년 2월 18일
0


이 과제는 @GetMapping으로 (/api/v1/calc) 이런 url 요청이 들어오면 덧셈,곱셈,뺄셈을 json으로 응답으로 내보내는 과제이다.

@RestController
public class CalcController {
    @GetMapping("/api/v1/calc")
    public CalcResponse calculator(@RequestParam int num1,
                                   @RequestParam int num2){

        return new CalcResponse(num1,num2);
    }
}

코드 설명

return값으로 CalcResponse를 사용했는데
이유는 json으로 응답하기 위해서는 객체를 사용해야 하기 때문이다.

매개변수로는 @RequestParam 이라는 어노테이션을 사용했는데
이것은 url로 num1,num2의 쿼리스트링이 넘어오면 매개변수 값들을 바인딩 해줄수있다. URL 로부터 넘어온 매개변수를 CalcResponse 생성자에 넣어주면 클라이언트쪽에 계산값을 응답해주고
Controller의 역할은 끝이난다.

결과

@RestController
public class DateController {
    @GetMapping("/api/v1/day-of-the-week")
    public DayResponse dayResponse(@RequestParam LocalDate date){
        DayOfWeek dayOfWeek = date.getDayOfWeek();

        return new DayResponse(dayOfWeek);
    }
}
@Getter
public class DayResponse {
    DayOfWeek dayOfTheWeek;

    public DayResponse(DayOfWeek dayOfTheWeek) {
        this.dayOfTheWeek = dayOfTheWeek;
    }
}

코드설명

매개변수 LocalDate로 무슨 요일인지 받아오고
return값으로 DayResponse생성자에 date에 해당하는 요일을 넣어서
클라이언트에 응답한다

결과


나는 왜 sunday가 나오는지 모르겠다..

@RestController
public class SumController {
    @PostMapping("/api/sum")
    public int sum(@RequestBody Sum sum){
        int sum2 = 0;
        List<Integer> list = sum.getResult();
        for (Integer list1 : list){
            sum2 += list1;
        }
        return sum2;
    }
}
@Getter
@NoArgsConstructor
@AllArgsConstructor
public class Sum {
    List<Integer> result;

}

결과

코드 설명

이 코드는 post방식으로 숫자들이 body로 들어오면 그 숫자들을
다 합한다음에 클라이언트에 더한값을 응답해주는 코드이다

먼저@RequestBody로 숫자들을 받아오고
sum.getResult()로 숫자 list들을 담은후에
forEach문으로 list에있는 숫자들을 sum2변수에 더한다.
마지막으로 sum2를 return하면 더한값이 클라이언트로 응답하게된다.

0개의 댓글