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()
   
    // 2. 注册{document}.json终结点
    app.mapOpenApi() 

    // 3. 添加一个终结点
    app.mapGet("connect/token") {
        context => context.response.write("token value")
    }.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.mapOpenApi() 

    app.mapGet("connect/token") {
        context => context.response.write("token value")
    }.withOpenApi(OpenApi(description: "创建令牌")) // 配置终结点元信息  
    
    app.run()
}

说明

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