RestAPI 알아보기 (Post - with DTO)

Gihongg·2024년 3월 15일

Spring Boot

목록 보기
4/24

이번 포스트에서는 Spring boot의 RestAPI Post에 대해서 알아보자.

먼저 DTO를 만들자.

BookRequest.java파일을 스프링 폴더의 패키지 안에 생성해주고 아래와 같이 DTO를 생성해준다.

package org.example.restapi.restapi.controller.model;

import lombok.AllArgsConstructor;
import lombok.Data;
import lombok.NoArgsConstructor;

@Data
@AllArgsConstructor
@NoArgsConstructor
public class BookRequest {

    private String name;
    private String number;
    private String category;
}

그 후 PostApiController.java파일을 만들어 RestController을 작성해보자.

package org.example.restapi.restapi.controller;

import org.example.restapi.restapi.controller.model.BookRequest;
import org.springframework.web.bind.annotation.PostMapping;
import org.springframework.web.bind.annotation.RequestBody;
import org.springframework.web.bind.annotation.RequestMapping;
import org.springframework.web.bind.annotation.RestController;

@RestController
@RequestMapping("/api")
public class PostApiController {

    //http://localhost:8080/api/post
    @PostMapping("/post")
    public BookRequest post(
            @RequestBody BookRequest bookRequest
    ){
        System.out.println(bookRequest);
        return bookRequest;
    }
}

PostApiController

주요 요소 설명

@RestController

이 클래스가 RESTful 웹 서비스의 컨트롤러로 동작함을 나타내는 어노테이션이다.

@RequestMapping

이 컨트롤러의 모든 핸들러 메서드가 처리할 기본 URL 경로를 설정한다. 예를 들어 여기서는 htttp://loaclhost:8080/api 로 설정되는 것이고 이후의 경로는 이후의 메서드에서 결정 및 설정한다.

@PostMapping

RequestMapping의 특수한 형태로, HTTP POST 요청을 처리하는 메서드임을 나타낸다. 여기서는 /api/post 경로로 POST 요청이 오면 이 메서드가 요청을 처리한다.

profile
전천후 개발자

0개의 댓글