Java java지도 시간 Spring Boot 및 Swagger를 사용하여 RESTful API 문서 작성

Spring Boot 및 Swagger를 사용하여 RESTful API 문서 작성

Jun 23, 2023 pm 01:51 PM
spring boot swagger restful api

오늘날의 웹 개발에서 RESTful API는 개발자가 웹 사이트와 애플리케이션을 구축하는 데 매우 인기 있는 방법이 되었습니다. RESTful API를 사용하면 개발자는 명확한 API를 구축하여 다른 애플리케이션이나 서비스와 보다 편리하게 상호 작용할 수 있습니다. 이러한 API를 더 잘 관리하고 유지하기 위해서는 문서 작성 및 관리도 매우 중요한 부분이 되었습니다.

Spring Boot는 Java 애플리케이션을 신속하게 구축하기 위한 프레임워크로, 간단하고 빠르며 확장이 쉽습니다. Swagger는 RESTful API를 설계, 구축 및 문서화하는 데 특별히 사용되는 도구로, RESTful API 문서를 빠르게 생성하고 API 요청 및 응답의 샘플 흐름을 자동으로 생성할 수 있습니다.

이 글에서는 Spring Boot와 Swagger를 사용하여 RESTful API 문서를 작성하는 방법을 소개합니다.

1. Spring Boot 프로젝트 생성

먼저 Spring 초기화를 사용하여 https://start.spring.io/를 통해 생성할 수 있는 Spring Boot 프로젝트를 생성해야 합니다. 여기서는 Web과 Swagger 2의 두 가지 종속성을 선택합니다. 생성이 완료되면 프로젝트를 통합 개발 환경으로 가져오고 pom에 Swagger 종속성을 추가합니다.

컨트롤러에 메소드를 추가합니다:

<dependency>
   <groupId>io.springfox</groupId>
   <artifactId>springfox-swagger2</artifactId>
   <version>2.9.2</version>
</dependency>
<dependency>
   <groupId>io.springfox</groupId>
   <artifactId>springfox-swagger-ui</artifactId>
   <version>2.9.2</version>
</dependency>
로그인 후 복사

클래스에 @RestController 주석을 추가해야 할 뿐만 아니라 이 컨트롤러의 역할을 설명하기 위해 @Api 주석도 사용해야 한다는 점에 유의해야 합니다.

디컴파일된 콘텐츠:

@RestController
public class NumberController {
 
   @ApiOperation(value = "Generate a random number between 1 and 100")
   @RequestMapping(value = "/generateNumber", method = RequestMethod.GET)
   public ResponseEntity<Integer> generateNumber() {
       Random random = new Random();
       int randomNumber = random.nextInt(100) + 1;
       return ResponseEntity.ok(randomNumber);
   }
}
로그인 후 복사

3. Swagger 구성

해당 컨트롤러 개발이 완료되면 Swagger를 구성해야 합니다. Spring Boot 구성 파일 application.properties에 Swagger 관련 구성을 추가합니다.

package com.example.demo.controller;

import io.swagger.annotations.ApiOperation;
import org.springframework.http.ResponseEntity;
import org.springframework.web.bind.annotation.RequestMapping;
import org.springframework.web.bind.annotation.RequestMethod;
import org.springframework.web.bind.annotation.RestController;

import java.util.Random;

@RestController
public class NumberController
{

    public NumberController()
    {
    }

    @ApiOperation(value="Generate a random number between 1 and 100")
    @RequestMapping(value="/generateNumber", method=RequestMethod.GET)
    public ResponseEntity generateNumber()
    {
        Random random = new Random();
        int randomNumber = random.nextInt(100) + 1;
        return ResponseEntity.ok(new Integer(randomNumber));
    }
}
로그인 후 복사

주석 설명:

@Api: Spring MVC의 @Controller 및 @RequestMapping 주석과 유사하게 컨트롤러의 역할을 설명하는 데 사용됩니다.

@ApiIgnore: 무시된 API에 사용되며 생성된 API 문서에 표시되지 않습니다.

@ApiOperation: 메서드 이름, 요청 메서드, 요청 매개 변수, 반환 개체 및 메서드나 클래스에 배치할 수 있는 기타 정보를 포함하여 특정 API 작업을 설명하는 데 사용됩니다.

@ApiImplicitParam: 매개변수 이름, 매개변수 유형, 필요성 및 기타 정보를 포함하여 요청 매개변수를 설명하는 데 사용됩니다.

@ApiModel: JavaBean 클래스를 설명하는 데 사용됩니다.

@ApiParam: 매개변수 정보를 설명하는 데 사용됩니다.

@ApiResponses: HTTP 상태 코드, 응답 데이터 및 기타 정보를 포함한 API 응답을 설명하는 데 사용됩니다.

@ApiProperty: JavaBean 클래스의 속성 정보를 설명하는 데 사용됩니다.

4. API 문서 보기

위 구성을 완료한 후 Spring Boot 애플리케이션을 시작하고 http://localhost:8080/swagger-ui.html을 방문합니다. 생성된 API 문서를 브라우저에서 볼 수 있습니다. 여기에서는 요청 메소드, 요청 매개변수, 반환 결과 등 방금 작성한 API의 자세한 정보를 볼 수 있습니다. 동시에 Swagger는 개발자가 참조하고 테스트할 수 있도록 요청 및 응답의 샘플 스트림을 생성할 수도 있습니다.

여기서는 Spring Boot와 Swagger를 사용하여 RESTful API 문서를 작성합니다. 이 방법을 사용하면 개발자는 자신의 API 문서를 보다 빠르게 구축하고 관리할 수 있어 개발 효율성과 유지 관리성이 향상됩니다.

위 내용은 Spring Boot 및 Swagger를 사용하여 RESTful API 문서 작성의 상세 내용입니다. 자세한 내용은 PHP 중국어 웹사이트의 기타 관련 기사를 참조하세요!

본 웹사이트의 성명
본 글의 내용은 네티즌들의 자발적인 기여로 작성되었으며, 저작권은 원저작자에게 있습니다. 본 사이트는 이에 상응하는 법적 책임을 지지 않습니다. 표절이나 침해가 의심되는 콘텐츠를 발견한 경우 admin@php.cn으로 문의하세요.

핫 AI 도구

Undresser.AI Undress

Undresser.AI Undress

사실적인 누드 사진을 만들기 위한 AI 기반 앱

AI Clothes Remover

AI Clothes Remover

사진에서 옷을 제거하는 온라인 AI 도구입니다.

Undress AI Tool

Undress AI Tool

무료로 이미지를 벗다

Clothoff.io

Clothoff.io

AI 옷 제거제

AI Hentai Generator

AI Hentai Generator

AI Hentai를 무료로 생성하십시오.

인기 기사

R.E.P.O. 에너지 결정과 그들이하는 일 (노란색 크리스탈)
3 몇 주 전 By 尊渡假赌尊渡假赌尊渡假赌
R.E.P.O. 최고의 그래픽 설정
3 몇 주 전 By 尊渡假赌尊渡假赌尊渡假赌
R.E.P.O. 아무도들을 수없는 경우 오디오를 수정하는 방법
3 몇 주 전 By 尊渡假赌尊渡假赌尊渡假赌
WWE 2K25 : Myrise에서 모든 것을 잠금 해제하는 방법
3 몇 주 전 By 尊渡假赌尊渡假赌尊渡假赌

뜨거운 도구

메모장++7.3.1

메모장++7.3.1

사용하기 쉬운 무료 코드 편집기

SublimeText3 중국어 버전

SublimeText3 중국어 버전

중국어 버전, 사용하기 매우 쉽습니다.

스튜디오 13.0.1 보내기

스튜디오 13.0.1 보내기

강력한 PHP 통합 개발 환경

드림위버 CS6

드림위버 CS6

시각적 웹 개발 도구

SublimeText3 Mac 버전

SublimeText3 Mac 버전

신 수준의 코드 편집 소프트웨어(SublimeText3)

Spring Boot+MyBatis+Atomikos+MySQL(소스 코드 포함) Spring Boot+MyBatis+Atomikos+MySQL(소스 코드 포함) Aug 15, 2023 pm 04:12 PM

실제 프로젝트에서는 분산 트랜잭션을 피하려고 노력합니다. 그러나 때로는 일부 서비스 분할을 수행해야 하므로 분산 트랜잭션 문제가 발생할 수 있습니다. 동시에 면접 시 시장에서도 분산 거래에 대한 질문을 하게 되는데, 이 사례를 가지고 연습도 할 수 있고, 면접에서는 123에 대해서도 이야기를 나눌 수 있습니다.

Spring Boot를 통해 다국어 지원 및 국제 애플리케이션 달성 Spring Boot를 통해 다국어 지원 및 국제 애플리케이션 달성 Jun 23, 2023 am 09:09 AM

세계화가 발전함에 따라 점점 더 많은 웹사이트와 애플리케이션이 다국어 지원과 국제화 기능을 제공해야 합니다. 개발자에게 이러한 기능을 구현하는 것은 언어 번역, 날짜, 시간, 통화 형식 등 여러 측면을 고려해야 하기 때문에 쉬운 작업이 아닙니다. 그러나 SpringBoot 프레임워크를 사용하면 다국어 지원과 국제 애플리케이션을 쉽게 구현할 수 있습니다. 먼저 SpringBoot에서 제공하는 LocaleResolver 인터페이스를 이해해보자. 위치

Spring Boot를 사용하여 빅 데이터 처리 애플리케이션을 구축하는 방법 Spring Boot를 사용하여 빅 데이터 처리 애플리케이션을 구축하는 방법 Jun 23, 2023 am 09:07 AM

빅데이터 시대가 도래하면서 빅데이터의 가치를 이해하고 이를 비즈니스에 적용하는 기업이 점점 늘어나고 있습니다. 이에 따른 문제는 이러한 대규모 데이터 흐름을 처리하는 방법입니다. 이 경우 빅데이터 처리 애플리케이션은 모든 기업이 고려해야 할 사항이 되었습니다. 개발자에게는 SpringBoot를 사용하여 효율적인 빅데이터 처리 애플리케이션을 구축하는 방법도 매우 중요한 문제입니다. SpringBoot는 다음을 허용하는 매우 인기 있는 Java 프레임워크입니다.

Spring Boot는 MySQL 읽기-쓰기 분리 기술을 구현합니다. Spring Boot는 MySQL 읽기-쓰기 분리 기술을 구현합니다. Aug 15, 2023 pm 04:52 PM

읽기-쓰기 분리를 달성하는 방법, Spring Boot 프로젝트, 데이터베이스는 MySQL이고 지속성 레이어는 MyBatis를 사용합니다.

PHP의 라우팅 모듈을 이용한 RESTful API 설계 및 개발 PHP의 라우팅 모듈을 이용한 RESTful API 설계 및 개발 Oct 15, 2023 am 11:36 AM

PHP의 라우팅 모듈을 이용한 RESTfulAPI 설계 및 개발 인터넷이 지속적으로 발전하면서 웹 기반 애플리케이션이 점점 더 많아지고 있으며, REST(RepresentationalStateTransfer) 인터페이스는 웹 서비스를 설계하고 개발하는 일반적인 방법이 되었습니다. PHP에서 RESTfulAPI를 구현하면 라우팅 모듈을 통해 개발 및 관리를 단순화할 수 있습니다. 이 기사에서는 PHP에서 라우팅 모듈을 사용하여 RES를 설계하고 개발하는 방법을 소개합니다.

Spring Boot에서 WebSocket을 사용하여 푸시 및 알림 기능 구현 Spring Boot에서 WebSocket을 사용하여 푸시 및 알림 기능 구현 Jun 23, 2023 am 11:47 AM

최신 웹 애플리케이션 개발에서 WebSocket은 즉각적인 통신과 실시간 데이터 전송을 위한 일반적인 기술입니다. SpringBoot 프레임워크는 통합 WebSocket에 대한 지원을 제공하므로 개발자가 푸시 및 알림 기능을 구현하는 것이 매우 편리합니다. 이 기사에서는 WebSocket을 사용하여 SpringBoot에서 푸시 및 알림 기능을 구현하는 방법을 소개하고 간단한 실시간 온라인 채팅방 구현을 보여줍니다. SpringBoot 프로젝트 생성 먼저

Flask와 FastAPI: RESTful API를 구축하는 데 어떤 프레임워크가 더 좋나요? Flask와 FastAPI: RESTful API를 구축하는 데 어떤 프레임워크가 더 좋나요? Sep 27, 2023 pm 02:17 PM

Flask와 FastAPI: RESTful API를 구축하는 데 어떤 프레임워크가 더 좋나요? 웹 애플리케이션의 지속적인 인기에 따라 점점 더 많은 개발자가 고성능 RESTful API 구축에 주력하고 있습니다. Python 분야에서 Flask와 FastAPI는 많은 관심을 받은 두 프레임워크입니다. 둘 다 RESTful API를 빠르게 구축할 수 있고 광범위한 커뮤니티 지원을 제공합니다. 그렇다면 Flask와 FastAPI의 차이점은 무엇입니까?

PHP와 Laravel이 통합되어 Swagger 인터페이스 문서화 및 테스트 구현 PHP와 Laravel이 통합되어 Swagger 인터페이스 문서화 및 테스트 구현 Jun 25, 2023 am 09:32 AM

오늘날 점점 더 개방적인 인터넷 환경에서 API는 다양한 애플리케이션이 서로 통신하는 주요 수단이 되었습니다. API 인터페이스를 사용하면 다양한 애플리케이션을 서로 쉽게 연결하여 보다 복잡한 애플리케이션 시나리오를 달성할 수 있습니다. 그러나 API 인터페이스 문서의 작성 및 유지 관리는 물론 인터페이스 테스트도 비교적 어려운 작업입니다. 이 문제를 해결하기 위해 Swagger 인터페이스 문서와 테스트 도구가 탄생했습니다. Swagger는 생성, 설명, 호출 및 시각화를 위한 표준화되고 완전한 프레임워크입니다.

See all articles