我的情况如下。
我有一个 swagger .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));`
扩展输出: cica
新宠物根据 REST API 实现存储。
我已经使用以下命令成功为宠物商店生成了服务器存根:
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
但是这个maven项目代码是服务器代码。它在 PetApi.java
中有类似 @RequestMapping
的注释,还有 WebMvcConfiguration.class
。
我不想有一个服务器存根。我想要宠物店 REST API 的客户端库。
有没有可以为我生成合适的客户端库的工具?我应该修改服务器存根,因此它具有所有模型还是应该使用简单的 springRestTemplate?
感谢您的回答!
原文由 csikos.balint 发布,翻译遵循 CC BY-SA 4.0 许可协议
我认为您没有为 Swagger Codegen 的参数
-l
使用正确的值(您使用spring-mvc
这是一种服务器端技术)。您可以尝试使用值java
。您可能还会注意到,有一个工具 Restlet Studio 允许从 Swagger 内容生成代码。对于 Java,它主要依赖于 Restlet 框架,但我认为它可以满足您的需求。
希望它能帮助你,蒂埃里