package com.group.libraryapp.controller.homework;
import com.group.libraryapp.dto.calculator.request.*;
import com.group.libraryapp.dto.calculator.response.MinMax;
import com.group.libraryapp.dto.calculator.response.TodayDate;
import com.group.libraryapp.dto.calculator.response.calculateDto;
import org.springframework.web.bind.annotation.*;
@RestController
public class HomeworkFirstController {
//문제 1
@GetMapping("/api/v1/calc")
public calculateDto Calculatelist(NumList request){
return new calculateDto(request);
}
//문제 2
@GetMapping("/api/v1/day-of-the-week")
public TodayDate Datereturn(@RequestParam String date){
return new TodayDate(date);
}
//문제 3
@PostMapping("/api/v1/numbers")
public int SumList(@RequestBody NumbersSumDto sumDto){
return sumDto.getSum();
}
}
package com.group.libraryapp.dto.calculator.request;
public class NumList {
private final int num1;
private final int num2;
public int getNum2() {
return num2;
}
public int getNum1() {
return num1;
}
public NumList(int num1, int num2) {
this.num1 = num1;
this.num2 = num2;
}
}
package com.group.libraryapp.dto.calculator.response;
import com.group.libraryapp.dto.calculator.request.NumList;
public class calculateDto {
public calculateDto(NumList cal) {
this.add = cal.getNum1()+ cal.getNum2();
this.minus = cal.getNum1()-cal.getNum2();
this.multiply=cal.getNum1()*cal.getNum2();
}
public int getAdd() {
return add;
}
public int getMinus() {
return minus;
}
public int getMultiply() {
return multiply;
}
private final int add;
private final int minus;
private final int multiply;
}

package com.group.libraryapp.dto.calculator.response;
import java.time.DayOfWeek;
import java.time.LocalDate;
public class TodayDate {
private final DayOfWeek dayOfTheWeek;
public String getDayOfTheWeek() {
return dayOfTheWeek.toString().substring(0,3);
}
public TodayDate(String day) {
this.dayOfTheWeek = LocalDate.parse(day).getDayOfWeek();
}
}

package com.group.libraryapp.dto.calculator.request;
import java.util.List;
public class NumbersSumDto {
List<Integer> numbers;
//@RequestBody 어노테이션은 요청 본문의 데이터를 지정된 Java 객체로 매핑할 때
//해당 객체의 getter 메서드를 사용하여 값을 설정한다!!
public List<Integer> getNumbers() {
return numbers;
}
public int getSum(){
int total=0;
for (int num:numbers){
total+=num;
}
return total;
}
}
requestbody 객체의 getSum() 메서드를 이용하여 리스트의 합을 반환하였음
