RestAPI 알아보기 (Get)

Gihongg·2024년 3월 14일

Spring Boot

목록 보기
1/24
post-thumbnail

백엔드의 기본 4요소 CRUD 중 Read를 하기 위한 Get을 구현해보자

Rest API을 이해하기

Rest API는 "REpresentational State Transfer" 의 약자로 "표현 상태 전송"으로 번역 된다.

HTTP 프로토콜을 기반으로 데이터를 요청하고 응답하며, 자원을 표현하고 조작하는 일관된 방식을 제공한다.

가장 널리 배우는 아키텍처 스타일이지만 여러 스타일 중 하나의 스타일일 뿐이고 기본 구조와 뼈대를 제공해준다.
나머지는 개발자가 구축해야 한다.

아래의 내용에서는 설치 및 생성은 차치하고 코드 위주로 보도록 한다.

Rest API 코드

rest-api라는 Spring boot파일에 RestApiApplication이라는 파일이 main 메서드를 가지고 있는 시점부터 (spring boot가 로드된 상태)시작한다.

@SpringBootApplication
public class RestApiApplication {

    public static void main(String[] args) {
        SpringApplication.run(RestApiApplication.class, args);
    }

}

와 같은 코드가 자동으로 생성될텐데 이 코드는 여기에서는 건들지 않는다.

이제 이 코드가 들어있는 파일에 controller 패키지를 생성하고 그안에 java 파일 RestApiController을 생성한다.

package org.example.restapi.restapi.controller;


import org.springframework.web.bind.annotation.GetMapping;
import org.springframework.web.bind.annotation.RequestMapping;
import org.springframework.web.bind.annotation.RestController;

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


    @GetMapping(path="/hello") //메서드의 이름

    public String hello(){
        //"http://localhost:8080/api/hello"

        var html = "<html> <body> <h1> Hello Spring Boot  </h1> </body>";
        return html;
    }


}

@RestController

이 클래스가 REST API 컨트롤러임을 나타내는 어노테이션이다.

@RequestMapping("/api")

이 클래스에 속한 모든 메서드들의 기본 URL 경로를 "/api"로 설정하는 어노테이션입니다.
그러므로 이 클래스의 기본 URL 경로는 http://localhost:8080/api 으로 시작하게 된다.

@GetMapping(path="/hello")

어노테이트 하는 메서드가 HTTP GET 요청을 처리하도록 지정한다.
path 속성은 이 메서드가 처리할 URL 경로를 /hello로 지정한다 그러므로
이 메서드의 URL 경로는 http://localhost:8080/api/hello 가 된다.

public String hello()

이 메서드가 return 하는 String이 web으로 넘어가 웹 화면을 구성한다.
HTML 뿐만 아니라 JSON, XML 등 다른 데이터 형식도 반환할 수 있다.

웹에서 작동

웹에서는 http://localhost:8080/api/hello 로 접속했을 때 GET요청을 보내고 GET요청을 처리하는 hello 메서드에서 반환한 String을 각각의 데이터 형식에 맞게 사용한다.

profile
전천후 개발자

0개의 댓글