我的情况如下.
我有一个招摇.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项目代码是一个服务器代码.它像注释@RequestMapping
中PetApi.java
,也有一个WebMvcConfiguration.class
.
我不想拥有服务器存根.我想拥有一个petstore REST API的客户端库.
有没有可以为我生成适当的客户端库的工具?我应该修改服务器存根,因此它有所有模型或者我应该使用简单的springRestTemplate吗?
谢谢你的回答!
以下是一个简单的政策:
<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) 我安装了开源的chef-server(11.x).我是厨师的新手.我可以看到有user
s密码和pub/priv密钥(通常是刀用户(@workstations)).还有client
s(chef-validator,nodes ...)和pub/priv键.
当我这样做时knife configuration --initial
,使用admin
用户名和私钥来创建新的工作站用户johnnym
.因此,具有密钥的管理员用户足以创建用户,节点,客户端等等.
但是,当我knife bootstrap ${FQDN}
需要client
具有管理员权限(chef-validator)以便能够authn/authz到chef-server并注册新节点/客户端时.
我的问题是:如果客户和用户能够完成相同的任务,我们为什么要分开?