백엔드 스터디 - 과제 2

Minseok Kim·2024년 3월 13일

Spring

목록 보기
13/13

추가적인 API 만들기

풀이 과정
1. 쿼리 파라미터로 값을 받기 위해 DTO 생성

public class CalculatorDto {
    private int num1;
    private int num2;

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

    public int getNum1() {
        return num1;
    }

    public int getNum2() {
        return num2;
    }
}
  1. 계산결과를 JSON형식으로 받기 위해 CalculatorDomain 생성
public class CalculatorDomain {

    private int add;
    private int minus;
    private int multiply;

    public CalculatorDomain(int add, int minus, int multiply) {
        this.add = add;
        this.minus = minus;
        this.multiply = multiply;
    }

    public int getAdd() {
        return add;
    }

    public int getMinus() {
        return minus;
    }

    public int getMultiply() {
        return multiply;
    }
}

Controller에서 객체를 리턴하면 JSON으로 응답이 가게 된다. 이때 객체에 getter가 있어야 한다.

Controller Code

@RestController
public class CalculatorController {

    @GetMapping("/api/v1/calc")
    public CalculatorDomain Calculator(CalculatorDto request){
        int num1 = request.getNum1();
        int num2 = request.getNum2();

        return new CalculatorDomain(num1+num2, num1-num2,num1*num2);
    }

}

결과


풀이 과정
1. 쿼리 파라미터로 값을 받기 위해 DTO 생성

public class DateDto {
    private String date;

    public DateDto(String date) {
        this.date = date;
    }
    public String getDate() {
        return date;
    }
}
  1. 계산결과를 JSON형식으로 받기 위해 DateDomain 생성
public class DateDomain {

    private String dayOfTheWeek;

    public DateDomain(String dayOfTheWeek) {
        this.dayOfTheWeek = dayOfTheWeek;
    }

    public String getDayOfTheWeek() {
        return dayOfTheWeek;
    }
}

Controller Code

@RestController
public class DateController {

    @GetMapping("/api/v1/day-of-the-week")
    public DateDomain DateToday(DateDto dateDto){

        LocalDate localDate = LocalDate.parse(dateDto.getDate());

        return new DateDomain(localDate.getDayOfWeek().toString().substring(0,3));
    }

}

결과


  1. 쿼리 파라미터로 값을 받기 위해 DTO 생성
public class AddNumberDto {

    private List<Integer> numbers = new ArrayList<>();

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

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

Controller Code

@RestController
public class AddNumbersController {

    @PostMapping("/api/v1/add")
    public int AddNumbers(@RequestBody AddNumberDto request) {
        int sumNumbers=0;

        for(int i: request.getNumbers()){
            sumNumbers+=i;
        }
        return sumNumbers;
    }

}

결과

0개의 댓글