API开发

使用leap开发api是一个非常简单的过程。

假设我们已经在conf/apis.xml中配置了如下api:

<?xml version="1.0" encoding="UTF-8"?>
<apis xmlns="http://www.leapframework.org/schema/web/apis">
    <api name="demo-api" base-path="/demo-api" base-package="demo.api"></api>
</apis>

现在我们开始为这个api开发服务接口。

首先需要在demo.api包(或子包)下创建一个控制器:

@Path("/user")
public class UserController extends ApiController {
    @GET
    public ApiResponse<List<UserModel>> getAllUser(){
        return ApiResponse.of(UserModel.all());
    }
}

注意:所有的API控制器都必须继承或间接继承ApiController

这里的UserModel类声明如下:

public class UserModel extends Model {
    private String id;
    public String getId() {
        return id;
    }
    public void setId(String id) {
        this.id = id;
    }
}

现在我们已经有一个接口了,重新访问文档生成的接口/demo-api/swagger.json,可以得到如下json:

{
    swagger: "2.0",
    info: {
        title: "demo-api",
        description: "",
        version: "1.0"
    },
    host: "localhost:8080",
    basePath: "/demo/demo-api",
    consumes: [
        "application/json"
    ],
    produces: [
        "application/json"
    ],

    paths: {
        /user: {
            get: {
                description: "",
                operationId: "getAllUser",
                responses: {
                    200: {
                        summary: "Success",
                        description: "",
                        schema: {
                            type: "array",
                            items: {
                                $ref: "#/definitions/UserModel"
                            }
                        }
                    }
                }
            }
        }
    },
    definitions: {
        UserModel: {
            type: "object",
            title: "UserModel",
            properties: {
                id: {
                    type: "string",
                    x-creatable: false,
                    x-updatable: false,
                    x-sortable: false,
                    x-filterable: false
                }
            }
        }
    }
}

这个时候我们把生成swagger的接口地址传给swagger ui的示例工程,可以看到如下文档:

接口文档

这个时候可以看到,接口uri,返回值都已经可以看到了。我们可以点击Try it out按钮,直接测试接口就可以看到接口调用和返回的数据了:

测试接口

results matching ""

    No results matching ""