진도표 2일차와 연결됩니다
우리는 GET API와 POST API를 만드는 방법을 배웠습니다. 👍 추가적인 API 들을 만들어 보며 API 개발에 익숙해져 봅시다!



// example/Controller
package com.group.libraryapp.controller.example;
import com.group.libraryapp.dto.calculator.request.CalculatorMultiplyRequest;
import com.group.libraryapp.dto.example.request.CalculatorReqeust;
import com.group.libraryapp.dto.example.request.DayRequest;
import com.group.libraryapp.dto.example.request.SumRequest;
import com.group.libraryapp.dto.example.response.CalculatorResponse;
import com.group.libraryapp.dto.example.response.DayResponse;
import com.group.libraryapp.dto.example.response.SumResponse;
import org.springframework.web.bind.annotation.*;
import java.time.DayOfWeek;
import java.time.LocalDate;
import java.util.List;
@RestController
public class ExampleController {
// 과제 - 문제 1.
@GetMapping("/api/v1/calc")
public CalculatorResponse calculator(CalculatorReqeust request){
return new CalculatorResponse(request); // 생성자에 request 넣어주기.
}
@GetMapping("/api/v1/day-of-the-week")
public DayResponse dayResponse(@RequestParam("date") String date){
DayOfWeek dayOfWeek = LocalDate.parse(date).getDayOfWeek(); // SUNDAY 까지 나옴. LocalDate Type
System.out.println(dayOfWeek.toString());
return new DayResponse(dayOfWeek.toString());
}
@PostMapping("api/v1/sum")
public int sum(@RequestBody SumRequest request){
return new SumResponse(request).getSum();
}
// @PostMapping("/multiply") // post /multiply
// public int multiplyTwoNumbers(@RequestBody CalculatorMultiplyRequest request) {// body 안의 객체를 읽어온다.
// return request.getNumber1() * request.getNumber2();
// }
}
/ DTO/request/calculatorRequest
package com.group.libraryapp.dto.example.request;
public class CalculatorReqeust {
private int num1;
private int num2;
public CalculatorReqeust(int num1, int num2) {
this.num1 = num1;
this.num2 = num2;
}
public int getNum1() {
return num1;
}
public int getNum2() {
return num2;
}
}
/response/CalculatorResponse
package com.group.libraryapp.dto.example.response;
import com.group.libraryapp.dto.example.request.CalculatorReqeust;
public class CalculatorResponse {
private int add;
private int minus;
private int multiply;
public CalculatorResponse(CalculatorReqeust calculatorReqeust) {
this.add = calculatorReqeust.getNum1()+ calculatorReqeust.getNum2();
this.minus = calculatorReqeust.getNum1()+ calculatorReqeust.getNum2();
this.multiply = calculatorReqeust.getNum1()* calculatorReqeust.getNum2();
}
public int getAdd() {
return add;
}
public int getMinus() {
return minus;
}
public int getMultiply() {
return multiply;
}
}
/ example/request/DayRequest
package com.group.libraryapp.dto.example.request;
import java.time.LocalDate;
import java.util.Calendar;
import java.util.Date;
public class DayRequest {
private LocalDate date;
public DayRequest(LocalDate date) {
this.date = date;
}
public LocalDate getDate() {
return date;
}
}
/example/response/DayResponse
package com.group.libraryapp.dto.example.response;
import java.time.DayOfWeek;
public class DayResponse {
private String dayOfTheWeek;
public DayResponse(String dayOfTheWeek) {
this.dayOfTheWeek = dayOfTheWeek.substring(0, 3);
}
public String getDayOfTheWeek() {
return dayOfTheWeek;
}
}
/example/request/SumRequest
package com.group.libraryapp.dto.example.request;
import java.util.List;
public class SumRequest {
private List<Integer> numbers;
public SumRequest() {
}
public List<Integer> getNumbers() {
return numbers;
}
public void setNumbers(List<Integer> numbers) {
this.numbers = numbers;
}
}
/example/response/SumResponse
package com.group.libraryapp.dto.example.response;
import com.group.libraryapp.dto.example.request.SumRequest;
public class SumResponse {
private int sum;
public SumResponse(SumRequest sumRequest) {
int i=0;
for (Object o : sumRequest.getNumbers()) {
i += (int) o;
System.out.println(i);
}
this.sum=i;
}
public int getSum() {
return sum;
}
}
- 알게된 점.
- Jackson을 통해서 Json을 객체로 받을 때는 기본 생성자를 만들고 Setter 로 받아야한다.
'Spring' 카테고리의 다른 글
Spring MVC -김영한 백엔드 (1) (0) | 2024.04.22 |
---|---|
인프런 워밍업클럽 4일차 과제 (0) | 2024.02.22 |
인프런 워밍업클럽 3일차 과제 (0) | 2024.02.22 |
인프런 워밍업클럽 1일차 과제 (0) | 2024.02.19 |
인프런 워밍업 클럽 - 스터디 0기 BE (0) | 2024.02.19 |
진도표 2일차와 연결됩니다
우리는 GET API와 POST API를 만드는 방법을 배웠습니다. 👍 추가적인 API 들을 만들어 보며 API 개발에 익숙해져 봅시다!



// example/Controller
package com.group.libraryapp.controller.example;
import com.group.libraryapp.dto.calculator.request.CalculatorMultiplyRequest;
import com.group.libraryapp.dto.example.request.CalculatorReqeust;
import com.group.libraryapp.dto.example.request.DayRequest;
import com.group.libraryapp.dto.example.request.SumRequest;
import com.group.libraryapp.dto.example.response.CalculatorResponse;
import com.group.libraryapp.dto.example.response.DayResponse;
import com.group.libraryapp.dto.example.response.SumResponse;
import org.springframework.web.bind.annotation.*;
import java.time.DayOfWeek;
import java.time.LocalDate;
import java.util.List;
@RestController
public class ExampleController {
// 과제 - 문제 1.
@GetMapping("/api/v1/calc")
public CalculatorResponse calculator(CalculatorReqeust request){
return new CalculatorResponse(request); // 생성자에 request 넣어주기.
}
@GetMapping("/api/v1/day-of-the-week")
public DayResponse dayResponse(@RequestParam("date") String date){
DayOfWeek dayOfWeek = LocalDate.parse(date).getDayOfWeek(); // SUNDAY 까지 나옴. LocalDate Type
System.out.println(dayOfWeek.toString());
return new DayResponse(dayOfWeek.toString());
}
@PostMapping("api/v1/sum")
public int sum(@RequestBody SumRequest request){
return new SumResponse(request).getSum();
}
// @PostMapping("/multiply") // post /multiply
// public int multiplyTwoNumbers(@RequestBody CalculatorMultiplyRequest request) {// body 안의 객체를 읽어온다.
// return request.getNumber1() * request.getNumber2();
// }
}
/ DTO/request/calculatorRequest
package com.group.libraryapp.dto.example.request;
public class CalculatorReqeust {
private int num1;
private int num2;
public CalculatorReqeust(int num1, int num2) {
this.num1 = num1;
this.num2 = num2;
}
public int getNum1() {
return num1;
}
public int getNum2() {
return num2;
}
}
/response/CalculatorResponse
package com.group.libraryapp.dto.example.response;
import com.group.libraryapp.dto.example.request.CalculatorReqeust;
public class CalculatorResponse {
private int add;
private int minus;
private int multiply;
public CalculatorResponse(CalculatorReqeust calculatorReqeust) {
this.add = calculatorReqeust.getNum1()+ calculatorReqeust.getNum2();
this.minus = calculatorReqeust.getNum1()+ calculatorReqeust.getNum2();
this.multiply = calculatorReqeust.getNum1()* calculatorReqeust.getNum2();
}
public int getAdd() {
return add;
}
public int getMinus() {
return minus;
}
public int getMultiply() {
return multiply;
}
}
/ example/request/DayRequest
package com.group.libraryapp.dto.example.request;
import java.time.LocalDate;
import java.util.Calendar;
import java.util.Date;
public class DayRequest {
private LocalDate date;
public DayRequest(LocalDate date) {
this.date = date;
}
public LocalDate getDate() {
return date;
}
}
/example/response/DayResponse
package com.group.libraryapp.dto.example.response;
import java.time.DayOfWeek;
public class DayResponse {
private String dayOfTheWeek;
public DayResponse(String dayOfTheWeek) {
this.dayOfTheWeek = dayOfTheWeek.substring(0, 3);
}
public String getDayOfTheWeek() {
return dayOfTheWeek;
}
}
/example/request/SumRequest
package com.group.libraryapp.dto.example.request;
import java.util.List;
public class SumRequest {
private List<Integer> numbers;
public SumRequest() {
}
public List<Integer> getNumbers() {
return numbers;
}
public void setNumbers(List<Integer> numbers) {
this.numbers = numbers;
}
}
/example/response/SumResponse
package com.group.libraryapp.dto.example.response;
import com.group.libraryapp.dto.example.request.SumRequest;
public class SumResponse {
private int sum;
public SumResponse(SumRequest sumRequest) {
int i=0;
for (Object o : sumRequest.getNumbers()) {
i += (int) o;
System.out.println(i);
}
this.sum=i;
}
public int getSum() {
return sum;
}
}
- 알게된 점.
- Jackson을 통해서 Json을 객체로 받을 때는 기본 생성자를 만들고 Setter 로 받아야한다.
'Spring' 카테고리의 다른 글
Spring MVC -김영한 백엔드 (1) (0) | 2024.04.22 |
---|---|
인프런 워밍업클럽 4일차 과제 (0) | 2024.02.22 |
인프런 워밍업클럽 3일차 과제 (0) | 2024.02.22 |
인프런 워밍업클럽 1일차 과제 (0) | 2024.02.19 |
인프런 워밍업 클럽 - 스터디 0기 BE (0) | 2024.02.19 |