当前位置: 首页 > 面试题库 >

如何为招摇的REST API文档生成Java客户端代码

百里京
2023-03-14
问题内容

我的情况如下。

我有一个大张旗鼓的.json例如:http :
//petstore.swagger.io/v2/swagger.json
我想将生成的Java客户端用于上述REST API,例如:

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的实现进行存储。

我已经使用以下命令成功为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

但是此Maven项目代码是服务器代码。它具有@RequestMappingin的注释,PetApi.java并且还具有WebMvcConfiguration.class

我不想有一个服务器存根。我想为petstore REST API提供一个客户端库。

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

感谢您的回答!


问题答案:

我认为您没有-l为Swagger Codegen 的参数使用正确的值(您使用的spring-mvc是服务器端技术)。您可以尝试使用value
java

您可能还会注意到,有一个工具Restlet
Studio,它可以从Swagger内容生成代码。对于Java,它主要依靠Restlet框架,但是我认为它可以满足您的需求。

希望对您有帮助,蒂埃里



 类似资料:
  • 我的设想如下。 我有一个swagger. json,例如:http://petstore.swagger.io/v2/swagger.json我想为上面的REST API使用生成的java客户端,例如: 扩展输出:<code>cica</code>,新宠物根据REST API实现进行存储。 我已经使用以下命令成功地为petstore生成了服务器存根: 但是这个 maven 项目代码是一个服务器代码

  • 官方文档说明了以下关于生成客户端和服务器代码的内容。 接下来,我们需要从中生成gRPC客户端和服务器接口。proto服务定义。我们使用带有特殊gRPC Java插件的协议缓冲区编译器protoc来实现这一点。您需要使用proto3编译器(同时支持proto2和proto3语法)来生成gRPC服务。 不幸的是,它只是建议使用Maven或Gradle来生成实际的客户端和服务器存根。 这一代的实际pro

  • 问题内容: 首先,我希望您知道我已经可以连接到Web服务服务器。我问这个问题是因为我想对wsimport生成的客户端如何工作有更深入的了解。根据我的研究,wsimport使用JAXWS。请注意,我对JAXWS不了解。 我使用wsimport生成了客户端。我使用的WSDL来自Axis2 Web服务,并由Axis2自动生成。下面的类是wsimport的结果: 下 下 通过上面的类,我可以确定其中包含W

  • 在做其他事情之前,我想让你知道我已经可以连接到web服务服务器了。我问这个问题是因为我想更深入地了解wsimport生成的客户端是如何工作的。根据我的研究,wsimport使用JAXWS。请注意,我不了解JAXWS。 我使用wsimport生成了我的客户机。我使用的WSDL来自Axis2 web服务,由Axis2自动生成。下面的类是wsimport的结果: 在下 在下 通过上面的类,我可以看出包含

  • 现在我们即将从昂首阔步转向SpringRest文档。 问:有没有一种方法可以像Swagger那样从Spring rest文档生成java rest客户机? 如果是-怎么做? 如果没有-是否有其他方法来获取/生成REST API客户端。

  • 我有一个这样的歌剧API: OpenAPI生成器Maven的插件为schema对象创建了一个请求类“GenerateTokenRequest”,但在API实现类中它没有使用。它生成一个方法,将所有请求的字段作为参数列表。方法如下: 所以,在这种情况下,请求类“GenerateTokenRequest”被生成,但从未使用过。任何人都可以告诉我为什么?有一种使用我的请求类的替代方法吗?我可以在Open