swagger-codegen API将类型转换为字符串

时间:2017-04-06 23:21:42

标签: java swagger swagger-codegen

这是我的swagger应用程序的界面:

@SwaggerDefinition(
    ...
)
@Api(
    produces = "application/json",
    protocols = "http",
    tags = {"Service"}
)
@Path("/v1/{userId}/Services")
public interface ServiceApiV1 {

    @GET
    @Produces(MediaType.APPLICATION_JSON)
    @AsyncTimed
    @ApiOperation(
        value = "Retrieves a service instance",
        tags = "Service"
    )
    @Path("/{serviceId}")
    void fetchService(@Suspended AsyncResponse asyncResponse,
                      @ApiParam @PathParam("userId") UserId userId,
                      @ApiParam @PathParam("serviceId") ServiceId serviceId
    );

    @GET
    @Produces(MediaType.APPLICATION_JSON)
    @AsyncTimed
    @ApiOperation(
        value = "Retrieves a list of services",
        tags = "Service"
    )
    @Path("/")
    void fetchServices(@Suspended AsyncResponse asyncResponse,
                          @ApiParam @PathParam("userId") UserId userId
    );
}

我尝试使用@ApiParam(type = "UserId")但它仍然使用字符串(我也尝试使用UserId的完整路径,例如com.myservice.UserId

如您所见,我有UserId的特定类型和ServiceId的特定类型。但是,当我运行生成的swagger-codegen API时,请将这些参数转换为string

类型

是否可以让Swagger生成API客户端,但保留PathParams的类型,因为我已经在这里定义了它们?

(是的,swagger.json具有类型string的这些参数,这对于为什么codegen然后将它们生成为字符串是有道理的。所以我想正确的问题是如何让Swagger生成参数是更高级的类型,因为它们是

更新因此,使用完整路径会为我的type生成正确的swagger.json。但是,生成的API仍然使用String :(

0 个答案:

没有答案