추가적인 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;
}
}
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;
}
}
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));
}
}
결과


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