
โ ์ ์ฒด ์ฝ๋
Calculator.java
package com.group.libraryapp.controller.secondAssignment;
import com.group.libraryapp.dto.second.request.CalculatorNumRequest;
import com.group.libraryapp.dto.second.response.CalResponse;
import org.springframework.web.bind.annotation.GetMapping;
import org.springframework.web.bind.annotation.RestController;
@RestController
public class Calculator {
@GetMapping("/api/v1/calc")
public CalResponse CalTwoNumbers(CalculatorNumRequest request)
{
return new CalResponse(request);
}
}
CalculatorNumRequest.java
package com.group.libraryapp.dto.second.request;
public class CalculatorNumRequest {
private int num1;
private int num2;
public CalculatorNumRequest(int num1, int num2) {
this.num1 = num1;
this.num2 = num2;
}
public int getNum1() {
return num1;
}
public int getNum2() {
return num2;
}
}
CalResponse.java
package com.group.libraryapp.dto.second.response;
import com.group.libraryapp.dto.second.request.CalculatorNumRequest;
public class CalResponse {
private int add;
private int minus;
private int multiply;
public CalResponse(CalculatorNumRequest 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;
}
}
โ ์ ์ฒด ์ฝ๋
โ๏ธโ๏ธํ์ ๋ณํ ์ด์
URL๋ก ์ ๋ฌ๋๋ "2024-11-04" ์ด ๊ฐ์, ํ์ ์ด String์ด๋ค.
๋๋ ์๋์ผ๋ก LocalDateํ์ ์ผ๋ก ๋ฐ์ ์ค๋์ค ์์๋๋ฐ, ์๋์ฌ์ ํ์ ๋ณํ์ ํด์ฃผ์๋ค.
package com.group.libraryapp.controller.secondAssignment;
import org.springframework.web.bind.annotation.GetMapping;
import org.springframework.web.bind.annotation.RequestParam;
import org.springframework.web.bind.annotation.RestController;
import java.time.DayOfWeek;
import java.time.LocalDate;
import java.time.format.TextStyle;
import java.util.Locale;
@RestController
public class ReturnWeek {
@GetMapping("/api/v1/day-of-the-week")
public String dayToWeek(@RequestParam("date") String date){
DayOfWeek dayOfTheWeek = LocalDate.parse(date).getDayOfWeek();
return dayOfTheWeek.getDisplayName(TextStyle.SHORT, Locale.US).toString();
}
}
โ ์ ์ฒด ์ฝ๋
1) RequestBody ์ด๋
ธํ
์ด์
์ ํตํด, body๋ก ์ ๋ฌ๋ numbers๋ฆฌ์คํธ๋ฅผ CalculatorSumRequestํด๋์ค๋ฅผ ํตํด ๊ฐ์ฒด๋ก ๊ฐ์ผ๋ค.(๊ตณ์ด ์ด๋ ๊ฒ ์ํด๋๋จ)
2) CalculatorSumRequest์ getter๋ฅผ ํตํด ๋ฆฌ์คํธ์ ์ ๊ทผํ๊ณ , for๋ฌธ์ผ๋ก ๋ฆฌ์คํธ์ ๊ฐ์ ํ๋์ฉ ๋ฐ์์์ sum ๋ณ์์ ๋์ ํด ๋ํ๋ค.
3) ๋ฐํ ๊ฒฐ๊ณผ๋ JSON์ด ์๋๋ผ๊ณ ํด์, ์ง์ ๋ฉ์๋์์ ๋ํด ๋ฆฌํดํ๋ค.
package com.group.libraryapp.controller.secondAssignment;
import com.group.libraryapp.dto.second.request.CalculatorSumRequest;
import com.group.libraryapp.dto.second.response.SumResponse;
import org.springframework.web.bind.annotation.PostMapping;
import org.springframework.web.bind.annotation.RequestBody;
import org.springframework.web.bind.annotation.RestController;
@RestController
public class SumController {
@PostMapping("/sum")
public Integer sumNumbers(@RequestBody CalculatorSumRequest request){
int sum=0;
for(Integer num:request.getNumbers()){
sum+=num;
}
return sum;
}
}
package com.group.libraryapp.dto.second.request;
import java.util.ArrayList;
import java.util.List;
public class CalculatorSumRequest {
private List<Integer> numbers;
public CalculatorSumRequest() {
}
public CalculatorSumRequest(List<Integer> numbers) {
this.numbers = numbers;
}
public List<Integer> getNumbers() {
return numbers;
}
}