๐ŸŒฑ<์ธํ”„๋Ÿฐ ์›Œ๋ฐ์—… ์Šคํ„ฐ๋”” ํด๋Ÿฝ 0๊ธฐ> BE - 2์ผ์ฐจ ๊ณผ์ œ

Aishaยท2024๋…„ 2์›” 20์ผ
post-thumbnail

๋ฌธ์ œ1

โœ… ์ „์ฒด ์ฝ”๋“œ

  • ํ’€์ด ๊ณผ์ •
    1) CalResponse ๊ฐ์ฒด๋ฅผ ๋ฐ˜ํ™˜ํ•˜๋Š” CalTwoNumbers ๋ฉ”์†Œ๋“œ๋ฅผ ๋งŒ๋“ ๋‹ค.
    2) URL์— ๋“ค์–ด์žˆ๋Š” ์ฟผ๋ฆฌ๊ฐ’์„ ๊ฐ์ฒด๋กœ ๊ฐ์‹ธ ์ „๋‹ฌํ•˜๊ธฐ ์œ„ํ•ด, CalculatorNumRequest ํด๋ž˜์Šค๋ฅผ ๋งŒ๋“ ๋‹ค.
    3) ์ฟผ๋ฆฌ๊ฐ’์„ ์ „๋‹ฌ๋ฐ›์•„ ์—ฐ์‚ฐํ•˜๋Š” ์—ญํ• ์„ ์ˆ˜ํ–‰ํ•˜๋Š” CalResponseํด๋ž˜์Šค์—, ๊ฐ์ฒด๋กœ ๊ฐ์‹ธ์ง„ ์ฟผ๋ฆฌ๊ฐ’์˜ ์ฃผ์†Œ๋ฅผ ๋‹ด๊ณ ์žˆ๋Š” request๋ฅผ ์ธ์ž๋กœ ์ „๋‹ฌํ•˜์—ฌ ์ธ์Šคํ„ด์Šค๋ฅผ ์ƒ์„ฑํ•œ๋‹ค.
    4) CalResponse ์—์„œ๋Š” CalculatorNumRequest์˜ getter๋ฅผ ํ†ตํ•ด num1๊ณผ num2๊ฐ’์„ ์ „๋‹ฌ๋ฐ›์•„, ๋ง์…ˆ,๋บ„์…ˆ,๊ณฑ์…ˆ ์—ฐ์‚ฐ์„ ์ˆ˜ํ–‰ํ•˜๊ณ  ์ด๋ฅผ add,minus,multiply ํ•„๋“œ์— ๋‹ด์•„ ๋ฐ˜ํ™˜ํ•œ๋‹ค.

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

๋ฌธ์ œ2

โœ… ์ „์ฒด ์ฝ”๋“œ

  • ํ’€์ด ๊ณผ์ •
    1) RequestParam ์–ด๋…ธํ…Œ์ด์…˜์„ ํ†ตํ•ด, URL์— ์žˆ๋Š” date์˜ ๊ฐ’์„ ๋ฐ›์•„์˜จ๋‹ค.
    2) LocalDate.parse()๋ฅผ ์‚ฌ์šฉํ•ด, date๋ฅผ LocalDateํƒ€์ž…์œผ๋กœ ๋ฐ”๊พผํ›„ getDayOfWeek()๋ฅผ ํ†ตํ•ด ์š”์ผ์„ ๋ฝ‘์•„๋‚ธ๋‹ค.
    3) ์˜ˆ์‹œ ๊ฒฐ๊ณผ์™€ ๋™์ผํ•˜๊ฒŒ ์ถœ๋ ฅํ•˜๊ธฐ ์œ„ํ•ด,getDisplayName(TextStyle.SHORT, Locale.US) ๋ฅผ ์‚ฌ์šฉํ–ˆ๋‹ค.

โ—๏ธโ—๏ธํƒ€์ž… ๋ณ€ํ™˜ ์ด์œ 

URL๋กœ ์ „๋‹ฌ๋˜๋Š” "2024-11-04" ์ด ๊ฐ’์€, ํƒ€์ž…์ด String์ด๋‹ค.

๋‚˜๋Š” ์ž๋™์œผ๋กœ LocalDateํƒ€์ž…์œผ๋กœ ๋ฐ›์•„ ์˜ค๋Š”์ค„ ์•Œ์•˜๋Š”๋ฐ, ์•„๋‹ˆ์—ฌ์„œ ํƒ€์ž…๋ณ€ํ™˜์„ ํ•ด์ฃผ์—ˆ๋‹ค.

ReturnWeek.java

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();

    }



}

๋ฌธ์ œ3

โœ… ์ „์ฒด ์ฝ”๋“œ

  • ํ’€์ด ๊ณผ์ •

1) RequestBody ์–ด๋…ธํ…Œ์ด์…˜์„ ํ†ตํ•ด, body๋กœ ์ „๋‹ฌ๋œ numbers๋ฆฌ์ŠคํŠธ๋ฅผ CalculatorSumRequestํด๋ž˜์Šค๋ฅผ ํ†ตํ•ด ๊ฐ์ฒด๋กœ ๊ฐ์‹ผ๋‹ค.(๊ตณ์ด ์ด๋ ‡๊ฒŒ ์•ˆํ•ด๋„๋จ)
2) CalculatorSumRequest์˜ getter๋ฅผ ํ†ตํ•ด ๋ฆฌ์ŠคํŠธ์— ์ ‘๊ทผํ•˜๊ณ , for๋ฌธ์œผ๋กœ ๋ฆฌ์ŠคํŠธ์˜ ๊ฐ’์„ ํ•˜๋‚˜์”ฉ ๋ฐ›์•„์™€์„œ sum ๋ณ€์ˆ˜์— ๋ˆ„์ ํ•ด ๋”ํ•œ๋‹ค.
3) ๋ฐ˜ํ™˜ ๊ฒฐ๊ณผ๋Š” JSON์ด ์•„๋‹ˆ๋ผ๊ณ  ํ•ด์„œ, ์ง์ ‘ ๋ฉ”์†Œ๋“œ์—์„œ ๋”ํ•ด ๋ฆฌํ„ดํ–ˆ๋‹ค.

SumController.java

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

CalculatorSumRequest.java

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;
    }
}
profile
์ด๊ฒƒ์ €๊ฒƒ๋งŒ๋“ค์–ด๋ณด๊ณ ์‹ถ์–ด์š”!

0๊ฐœ์˜ ๋Œ“๊ธ€