小编csi*_*int的帖子

如何为swagger REST API文档生成Java客户端代码

我的情况如下.

我有一个招摇.json例如:http://petstore.swagger.io/v2/swagger.json 我想为上面的REST API使用生成的java客户端,例如:

PetApi petApi = new PetApi();
Pet pet = new Pet;
pet.setName("cica");
pet.setId(1L);
petApi.addPet(pet);
System.out.println(petApi.getById(1L));`
Run Code Online (Sandbox Code Playgroud)

Expexted输出:cica根据REST API实现存储新宠物.

我已使用以下命令为petstore成功生成服务器存根:

java -jar modules/swagger-codegen-cli/target/swagger-codegen-cli.jar generate
     -i http://petstore.swagger.io/v2/swagger.json
     -l spring-mvc
     -o samples/server/petstore/spring-mvc
Run Code Online (Sandbox Code Playgroud)

但是这个maven项目代码是一个服务器代码.它像注释@RequestMappingPetApi.java,也有一个WebMvcConfiguration.class.

我不想拥有服务器存根.我想拥有一个petstore REST API的客户端库.

有没有可以为我生成适当的客户端库的工具?我应该修改服务器存根,因此它有所有模型或者我应该使用简单的springRestTemplate吗?

谢谢你的回答!

java rest swagger

24
推荐指数
4
解决办法
6万
查看次数

Azure API 管理 CORS:为什么我会收到“以‘Access-Control-’开头的标题已被删除……”

以下是一个简单的政策:

<policies>
    <inbound>
        <cors>
            <allowed-origins>
                <origin>http://microfost.com/</origin>
            </allowed-origins>
            <allowed-methods preflight-result-max-age="300">
                <method>GET</method>
                <method>POST</method>
                <method>PATCH</method>
                <method>DELETE</method>
            </allowed-methods>
            <allowed-headers>
                <header>content-type</header>
                <header>accept</header>
                <header>Authorization</header>
            </allowed-headers>
        </cors>
    </inbound>
</policies>  
Run Code Online (Sandbox Code Playgroud)

HTTP 请求

OPTIONS https://XXXX.azure-api.net/demo/XXX/XXX/* HTTP/1.1
Host: XXXX.azure-api.net
Ocp-Apim-Trace: true
Ocp-Apim-Subscription-Key: <secret>
Origin: http://microfost.com
Access-Control-Request-Headers: Authorization
Access-Control-Request-Method: GET
Run Code Online (Sandbox Code Playgroud)

回复内容

Access-Control-Allow-Origin: http://microfost.com
Ocp-Apim-Trace-Location: <trace>
Date: Mon, 27 Feb 2017 20:09:14 GMT
Content-Length: 0
Run Code Online (Sandbox Code Playgroud)

我收到此消息并期望 Origin 响应标头 我没有收到 3 个 API 中的 2 个的任何内容(1 个 API 使用与预期相同的策略)。

**Inbound**
[...]
cors (0 ms)
"Cross domain request was well formed and was allowed …
Run Code Online (Sandbox Code Playgroud)

azure cors azure-api-management

5
推荐指数
1
解决办法
1万
查看次数

Chef-(服务器):客户端和用户之间有什么区别

我安装了开源的chef-server(11.x).我是厨师的新手.我可以看到有users密码和pub/priv密钥(通常是刀用户(@workstations)).还有clients(chef-validator,nodes ...)和pub/priv键.

当我这样做时knife configuration --initial,使用admin用户名和私钥来创建新的工作站用户johnnym.因此,具有密钥的管理员用户足以创建用户,节点,客户端等等.

但是,当我knife bootstrap ${FQDN}需要client具有管理员权限(chef-validator)以便能够authn/authz到chef-server并注册新节点/客户端时.

我的问题是:如果客户和用户能够完成相同的任务,我们为什么要分开?

chef-infra knife

4
推荐指数
1
解决办法
3583
查看次数

标签 统计

azure ×1

azure-api-management ×1

chef-infra ×1

cors ×1

java ×1

knife ×1

rest ×1

swagger ×1