요청 DTO랑 응답 DTO를 받아 controller에 api/v1/calc
로 API 요청하기
CalculatorRequest
package com.group.libraryapp.dto.calculator.request;
public class CalculatorRequest {
private final int num1;
private final int num2;
public CalculatorRequest(int num1, int num2) {
this.num1 = num1;
this.num2 = num2;
}
public int getNum1() {
return num1;
}
public int getNum2() {
return num2;
}
}
CalculatorResponse
package com.group.libraryapp.dto.calculator.request;
public class CalculatorResponse {
private int add;
private int minus;
private int multiply;
public CalculatorResponse(CalculatorRequest num){
this.add = num.getNum1() + num.getNum2();
this.minus = num.getNum1() - num.getNum2();
this.multiply = num.getNum1() * num.getNum2();
}
public int getAdd() {
return add;
}
public int getMinus() {
return minus;
}
public int getMultiply() {
return multiply;
}
}
CalculatorController
@GetMapping("/api/v1/calc") // 2. GET /add
public CalculatorResponse calculator(CalculatorRequest request){
return new CalculatorResponse(request);
}
CalculatorController
@GetMapping("/api/v1/day-of-the-week")
public DayResponse dayOfWeek(@RequestParam("date") String date){
LocalDate localDate = LocalDate.parse(date);
return new DayResponse(localDate);
}
DayResponse
package com.group.libraryapp.dto.calculator.request;
import java.time.DayOfWeek;
import java.time.LocalDate;
import java.time.format.TextStyle;
import java.util.Locale;
public class DayResponse {
private DayOfWeek dayOfWeek;
public DayResponse(LocalDate localDate) {
this.dayOfWeek = localDate.getDayOfWeek();
}
public DayOfWeek getDayOfWeek() {
return dayOfWeek;
}
}
CalculatorController
@PostMapping("/api/v1/arr")
public int sum(@RequestBody ArrayRequest request) {
int res = 0;
for(int i = 0; i < request.getNumbers().size(); i++) {
res += request.getNumbers().get(i);
}
return res;
}
ArrayRequest
package com.group.libraryapp.dto.calculator.request;
import java.util.ArrayList;
import java.util.List;
public class ArrayRequest {
List<Integer> numbers;
public ArrayRequest() {
}
public ArrayRequest(List<Integer> numbers) {
this.numbers = numbers;
}
public List<Integer> getNumbers() {
return numbers;
}
}