Skip to content

OpenApi中间件

注册openapi中间件

cangjie

import spire_web_http.*
import spire_web_routing.*
import spire_web_hosting.*
import spire_web_openapi.* 
import spire_extensions_injection.*

main() {
    let builder = WebHost.createBuilder()
    
    // 注册路由服务
    builder.services.addRouting()
    
    // 1. 注册openapi服务
    builder.services.addOpenApi() 
    
    let app = builder.build()

    app.useEndpoints {
        // 2. 注册{document}.json终结点
        endpoints.mapOpenApi() 

        // 3. 添加一个终结点
        endpoints.mapGet("connect/token") {
            context => context.response.write("hello token")
        }.withOpenApi(OpenApi(description: "创建令牌")) // 配置终结点元信息  
     }

    app.run()
}

说明

在浏览器输入:http://127.0.0.1:5000/openapi/v1.json

启用swagger-ui

我们需要在wwwroot目录中创建一个openapi目录,并将ui资源文件放入到该目录

cangjie

import spire_web_http.*
import spire_web_routing.*
import spire_web_hosting.*
import spire_web_openapi.* 
import spire_extensions_injection.*

main() {
    let builder = WebHost.createBuilder()
    
    builder.services.addRouting()
    builder.services.addOpenApi() 
    
    let app = builder.build()

    app.useOpenApiUI() 

    app.useEndpoints {
        // 注册{document}.json终结点
        endpoints.mapOpenApi() 

        //添加一个终结点
        endpoints.mapGet("connect/token") {
            context => context.response.write("hello token")
        }.withOpenApi(OpenApi(description: "创建令牌")) // 配置终结点元信息
     }

    app.run()
}

说明

在浏览器输入:http://127.0.0.1:5000/openapi