>  기사  >  백엔드 개발  >  Beego에서 Swagger를 사용하고 API 테스트를 위해 Postman과 결합

Beego에서 Swagger를 사용하고 API 테스트를 위해 Postman과 결합

王林
王林원래의
2023-06-22 11:02:141102검색

Beego는 Go 언어 웹 애플리케이션을 빠르게 개발하기 위한 웹 프레임워크로 개발 프로세스를 단순화하는 많은 기능과 도구를 제공합니다. 이러한 기능과 도구에는 Swagger(API 문서 생성 도구) 및 Postman(API 테스트 도구)에 대한 지원이 포함되어 있어 개발자가 API를 쉽게 관리하고 테스트할 수 있습니다. 이 기사에서는 Beego에서 Swagger를 사용하고 Postman 수행을 결합하는 방법을 소개합니다. API 테스트.

1. Swagger 설치

Swagger는 RESTful 웹 서비스를 설계, 구축, 문서화 및 테스트하기 위한 오픈 소스 프레임워크입니다. Swagger를 사용하면 동적으로 생성된 API 문서에서 각 API 메서드의 요청과 응답을 볼 수 있습니다.

먼저 Swagger를 설치해야 합니다. 다음 명령을 입력하십시오:

go get -u github.com/swaggo/swag/cmd/swag

설치가 완료된 후 다음 명령을 다시 입력하십시오:

swag init

이 명령은 귀하의 루트 디렉토리에 있습니다. Beego 애플리케이션 생성된 Swagger 문서가 포함된 docs 폴더를 생성합니다.

2. Swagger를 Beego에 통합

다음으로 Swagger를 Beego에 통합해야 합니다. 이렇게 하려면 main.go 파일에 swagger 및 beego/context 종속성을 도입해야 합니다.

import(

"github.com/astaxie/beego"
"github.com/astaxie/beego/context"
_ "your-app-doc-path/docs"

)

이제 main.go 파일의 init() 함수에 다음 코드를 추가하세요.

func main() {

if beego.BConfig.RunMode == beego.DEV {
    beego.BConfig.WebConfig.DirectoryIndex = true
    beego.BConfig.WebConfig.StaticDir["/swagger"] = "swagger"
    // 添加路由,可以自定义,这里设置为/swagger
    beego.InsertFilter("/*", beego.BeforeRouter, func(ctx *context.Context) {
        ctx.Output.Header("Access-Control-Allow-Origin", "*")
        ctx.Output.Header("Access-Control-Allow-Headers", "Content-Type,Token")
        ctx.Output.Header("Access-Control-Allow-Methods", "POST,GET")
    })
}

// 注册Swagger路由
beego.BConfig.WebConfig.StaticDir["/docs"] = "docs"
beego.BeeApp.Handlers.Get("/docs/*", func(ctx *context.Context) {
    ctx.Output.Header("Content-Type", "text/html;charset=utf-8")
    ctx.Output.Body(swaggerFiles.Index)
})

}

이 코드는 앱 루트에 있습니다. Swagger UI 파일을 저장하려면 디렉터리에 swagger 폴더를 만듭니다. Beego가 초기화되면 Swagger UI 디렉터리가 정적 경로로 등록됩니다. Swagger UI는 정적 HTML, CSS 및 JavaScript 파일 세트이므로 정적 리소스 디렉터리에서 액세스됩니다.

다음 URL을 입력하여 브라우저에서 Swagger UI를 열어야 합니다:

http://localhost:[port]/docs/index.html

여기에서 [port]를 서버 포트 번호로 바꾸십시오.

3. Swagger 댓글 작성

Swagger를 통합한 후 이제 API에 대한 Swagger 댓글을 작성해야 합니다. 다음과 같은 방법으로 실행할 수 있습니다.

먼저 swagger.go 파일을 생성한 후 다음 코드를 추가합니다.

package Controllers

/* 작업 범주
*/

// swagger:parameters add sub
type 피연산자 struct { + Route GET /add/{ a}/{b} add

//

// 추가용

//

// 지원되는 조건자: GET
// 매개변수:

// + A: (경로) - 첫 번째 피연산자(정수만 가능)

// + B:(경로) - 두 번째 피연산자(정수만 가능)
// 콘텐츠 허용:

// 생성:

// + 반환 결과(application/json )

// + Error (application/json )

//// swagger:parameters add// swagger:response OperResult

func (o *OperationController) Add() {

// The first operand
// in: path
// required: true
A int `json:"a"`
// The second operand
// in: path
// required: true
B int `json:"b"`

}

여기서 Swagger를 정의합니다. API의 요청과 응답을 설명하는 주석입니다. 주석은 Swagger 구문을 사용하여 라우팅 규칙, 명령 매개변수 및 결과 유형을 설명합니다. 구체적으로:


작업 범주(매개변수 유형)는 API에 전달된 매개변수를 설명합니다.

반환 결과(응답 유형)는 API가 클라이언트에 반환하는 값의 형식을 설명합니다.


4. API 테스트

이제 Beego 애플리케이션은 Swagger를 사용할 수 있으며 적절한 Swagger 주석이 있습니다. 다음으로 Postman을 사용하여 API를 테스트할 수 있습니다.

Postman에서 API URL 주소와 필수 매개변수를 입력한 다음 GET 동사를 선택하세요. 그런 다음 swagger_generated_api_test.go 파일에 있는 것과 같은 테스트 세트를 사용하여 API가 제대로 작동하는지 확인할 수 있습니다.

5. 요약

이 기사에서는 API 테스트를 위해 Beego에서 Swagger를 사용하고 Postman과 결합하는 방법을 소개했습니다. 먼저 Swagger를 설치하는 방법을 소개한 다음 Swagger를 Beego에 통합하는 방법을 보여주었습니다. 다음으로 Swagger 주석을 작성하고 API 테스트에 Postman을 사용하는 방법을 보여주었습니다. 이러한 단계는 개발자가 고품질 웹 애플리케이션을 더 빠르고 쉽게 개발하고 테스트할 수 있도록 해주기 때문에 Beego를 사용하여 RESTful 웹 API를 개발하는 모든 개발자에게 중요합니다.

위 내용은 Beego에서 Swagger를 사용하고 API 테스트를 위해 Postman과 결합의 상세 내용입니다. 자세한 내용은 PHP 중국어 웹사이트의 기타 관련 기사를 참조하세요!

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