Skip to content
Closed
Show file tree
Hide file tree
Changes from all commits
Commits
File filter

Filter by extension

Filter by extension

Conversations
Failed to load comments.
Loading
Jump to
Jump to file
Failed to load files.
Loading
Diff view
Diff view
Original file line number Diff line number Diff line change
Expand Up @@ -391,6 +391,7 @@ public void processOpts() {
if(!this.apiFirst && !this.reactive) {
additionalProperties.put("useSpringfox", true);
}
apiTemplateFiles.put("apiRoute.mustache", "Route.java");


// Some well-known Spring or Spring-Cloud response wrappers
Expand Down Expand Up @@ -428,6 +429,7 @@ public void processOpts() {

@Override
public void addOperationToGroup(String tag, String resourcePath, Operation operation, CodegenOperation co, Map<String, List<CodegenOperation>> operations) {
String operationTag;
if((library.equals(SPRING_BOOT) || library.equals(SPRING_MVC_LIBRARY)) && !useTags) {
String basePath = resourcePath;
if (basePath.startsWith("/")) {
Expand All @@ -443,12 +445,15 @@ public void addOperationToGroup(String tag, String resourcePath, Operation opera
} else {
co.subresourceOperation = !co.path.isEmpty();
}
List<CodegenOperation> opList = operations.computeIfAbsent(basePath, k -> new ArrayList<>());
opList.add(co);
co.baseName = basePath;
} else {
super.addOperationToGroup(tag, resourcePath, operation, co, operations);
operationTag = basePath;
}
else {
operationTag = tag;
}

super.addOperationToGroup(operationTag, resourcePath, operation, co, operations);
co.baseName = operationTag;

}

@Override
Expand Down
Original file line number Diff line number Diff line change
Expand Up @@ -103,7 +103,7 @@ public interface {{classname}} {
{{/headerParams}}
})
{{/implicitHeaders}}
@RequestMapping(value = "{{{path}}}",{{#singleContentTypes}}{{#hasProduces}}
@RequestMapping(value = {{classname}}Route.{{operationIdSnakeCase.toUpperCase}}_URL,{{#singleContentTypes}}{{#hasProduces}}
produces = "{{{vendorExtensions.x-accepts}}}", {{/hasProduces}}{{#hasConsumes}}
consumes = "{{{vendorExtensions.x-contentType}}}",{{/hasConsumes}}{{/singleContentTypes}}{{^singleContentTypes}}{{#hasProduces}}
produces = { {{#produces}}"{{{mediaType}}}"{{#hasMore}}, {{/hasMore}}{{/produces}} }, {{/hasProduces}}{{#hasConsumes}}
Expand Down
Original file line number Diff line number Diff line change
@@ -0,0 +1,16 @@
/**
* NOTE: This class is auto generated by OpenAPI Generator (https://openapi-generator.tech) ({{{generatorVersion}}}).
* https://openapi-generator.tech
* Do not edit the class manually.
*/
package {{package}};

{{#operations}}
public interface {{classname}}Route {
Copy link
Member

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

Constants should not be defined in interfaces : https://rules.sonarsource.com/java/tag/bad-practice/RSPEC-1214


{{#operation}}

String {{operationIdSnakeCase.toUpperCase}}_URL = "{{{path}}}";
{{/operation}}
}
{{/operations}}
Original file line number Diff line number Diff line change
Expand Up @@ -41,7 +41,7 @@ public interface PetApi {
}, tags={ "pet", })
@ApiResponses(value = {
@ApiResponse(code = 405, message = "Invalid input") })
@RequestMapping(value = "/pet",
@RequestMapping(value = PetApiRoute.ADD_PET_URL,
consumes = "application/json",
method = RequestMethod.POST)
com.netflix.hystrix.HystrixCommand<ResponseEntity<Void>> addPet(@ApiParam(value = "Pet object that needs to be added to the store" ,required=true ) @Valid @RequestBody Pet pet);
Expand All @@ -55,7 +55,7 @@ public interface PetApi {
}, tags={ "pet", })
@ApiResponses(value = {
@ApiResponse(code = 400, message = "Invalid pet value") })
@RequestMapping(value = "/pet/{petId}",
@RequestMapping(value = PetApiRoute.DELETE_PET_URL,
method = RequestMethod.DELETE)
com.netflix.hystrix.HystrixCommand<ResponseEntity<Void>> deletePet(@ApiParam(value = "Pet id to delete",required=true) @PathVariable("petId") Long petId,@ApiParam(value = "" ) @RequestHeader(value="api_key", required=false) String apiKey);

Expand All @@ -69,7 +69,7 @@ public interface PetApi {
@ApiResponses(value = {
@ApiResponse(code = 200, message = "successful operation", response = Pet.class, responseContainer = "List"),
@ApiResponse(code = 400, message = "Invalid status value") })
@RequestMapping(value = "/pet/findByStatus",
@RequestMapping(value = PetApiRoute.FIND_PETS_BY_STATUS_URL,
produces = "application/json",
method = RequestMethod.GET)
com.netflix.hystrix.HystrixCommand<ResponseEntity<List<Pet>>> findPetsByStatus(@NotNull @ApiParam(value = "Status values that need to be considered for filter", required = true, allowableValues = "available, pending, sold", defaultValue = "new ArrayList<>()") @Valid @RequestParam(value = "status", required = true, defaultValue="new ArrayList<>()") List<String> status);
Expand All @@ -84,7 +84,7 @@ public interface PetApi {
@ApiResponses(value = {
@ApiResponse(code = 200, message = "successful operation", response = Pet.class, responseContainer = "List"),
@ApiResponse(code = 400, message = "Invalid tag value") })
@RequestMapping(value = "/pet/findByTags",
@RequestMapping(value = PetApiRoute.FIND_PETS_BY_TAGS_URL,
produces = "application/json",
method = RequestMethod.GET)
com.netflix.hystrix.HystrixCommand<ResponseEntity<List<Pet>>> findPetsByTags(@NotNull @ApiParam(value = "Tags to filter by", required = true, defaultValue = "new ArrayList<>()") @Valid @RequestParam(value = "tags", required = true, defaultValue="new ArrayList<>()") List<String> tags);
Expand All @@ -97,7 +97,7 @@ public interface PetApi {
@ApiResponse(code = 200, message = "successful operation", response = Pet.class),
@ApiResponse(code = 400, message = "Invalid ID supplied"),
@ApiResponse(code = 404, message = "Pet not found") })
@RequestMapping(value = "/pet/{petId}",
@RequestMapping(value = PetApiRoute.GET_PET_BY_ID_URL,
produces = "application/json",
method = RequestMethod.GET)
com.netflix.hystrix.HystrixCommand<ResponseEntity<Pet>> getPetById(@ApiParam(value = "ID of pet to return",required=true) @PathVariable("petId") Long petId);
Expand All @@ -113,7 +113,7 @@ public interface PetApi {
@ApiResponse(code = 400, message = "Invalid ID supplied"),
@ApiResponse(code = 404, message = "Pet not found"),
@ApiResponse(code = 405, message = "Validation exception") })
@RequestMapping(value = "/pet",
@RequestMapping(value = PetApiRoute.UPDATE_PET_URL,
consumes = "application/json",
method = RequestMethod.PUT)
com.netflix.hystrix.HystrixCommand<ResponseEntity<Void>> updatePet(@ApiParam(value = "Pet object that needs to be added to the store" ,required=true ) @Valid @RequestBody Pet pet);
Expand All @@ -127,7 +127,7 @@ public interface PetApi {
}, tags={ "pet", })
@ApiResponses(value = {
@ApiResponse(code = 405, message = "Invalid input") })
@RequestMapping(value = "/pet/{petId}",
@RequestMapping(value = PetApiRoute.UPDATE_PET_WITH_FORM_URL,
consumes = "application/x-www-form-urlencoded",
method = RequestMethod.POST)
com.netflix.hystrix.HystrixCommand<ResponseEntity<Void>> updatePetWithForm(@ApiParam(value = "ID of pet that needs to be updated",required=true) @PathVariable("petId") Long petId,@ApiParam(value = "Updated name of the pet" ) @RequestParam(value="name", required=false) String name,@ApiParam(value = "Updated status of the pet" ) @RequestParam(value="status", required=false) String status);
Expand All @@ -141,7 +141,7 @@ public interface PetApi {
}, tags={ "pet", })
@ApiResponses(value = {
@ApiResponse(code = 200, message = "successful operation", response = ModelApiResponse.class) })
@RequestMapping(value = "/pet/{petId}/uploadImage",
@RequestMapping(value = PetApiRoute.UPLOAD_FILE_URL,
produces = "application/json",
consumes = "multipart/form-data",
method = RequestMethod.POST)
Expand Down
Original file line number Diff line number Diff line change
@@ -0,0 +1,26 @@
/**
* NOTE: This class is auto generated by OpenAPI Generator (https://openapi-generator.tech) (3.3.4-SNAPSHOT).
* https://openapi-generator.tech
* Do not edit the class manually.
*/
package org.openapitools.api;

public interface PetApiRoute {


String ADD_PET_URL = "/pet";

String DELETE_PET_URL = "/pet/{petId}";

String FIND_PETS_BY_STATUS_URL = "/pet/findByStatus";

String FIND_PETS_BY_TAGS_URL = "/pet/findByTags";

String GET_PET_BY_ID_URL = "/pet/{petId}";

String UPDATE_PET_URL = "/pet";

String UPDATE_PET_WITH_FORM_URL = "/pet/{petId}";

String UPLOAD_FILE_URL = "/pet/{petId}/uploadImage";
}
Original file line number Diff line number Diff line change
Expand Up @@ -36,7 +36,7 @@ public interface StoreApi {
@ApiResponses(value = {
@ApiResponse(code = 400, message = "Invalid ID supplied"),
@ApiResponse(code = 404, message = "Order not found") })
@RequestMapping(value = "/store/order/{orderId}",
@RequestMapping(value = StoreApiRoute.DELETE_ORDER_URL,
method = RequestMethod.DELETE)
com.netflix.hystrix.HystrixCommand<ResponseEntity<Void>> deleteOrder(@ApiParam(value = "ID of the order that needs to be deleted",required=true) @PathVariable("orderId") String orderId);

Expand All @@ -46,7 +46,7 @@ public interface StoreApi {
}, tags={ "store", })
@ApiResponses(value = {
@ApiResponse(code = 200, message = "successful operation", response = Map.class, responseContainer = "Map") })
@RequestMapping(value = "/store/inventory",
@RequestMapping(value = StoreApiRoute.GET_INVENTORY_URL,
produces = "application/json",
method = RequestMethod.GET)
com.netflix.hystrix.HystrixCommand<ResponseEntity<Map<String, Integer>>> getInventory();
Expand All @@ -57,7 +57,7 @@ public interface StoreApi {
@ApiResponse(code = 200, message = "successful operation", response = Order.class),
@ApiResponse(code = 400, message = "Invalid ID supplied"),
@ApiResponse(code = 404, message = "Order not found") })
@RequestMapping(value = "/store/order/{orderId}",
@RequestMapping(value = StoreApiRoute.GET_ORDER_BY_ID_URL,
produces = "application/json",
method = RequestMethod.GET)
com.netflix.hystrix.HystrixCommand<ResponseEntity<Order>> getOrderById(@Min(1L) @Max(5L) @ApiParam(value = "ID of pet that needs to be fetched",required=true) @PathVariable("orderId") Long orderId);
Expand All @@ -67,7 +67,7 @@ public interface StoreApi {
@ApiResponses(value = {
@ApiResponse(code = 200, message = "successful operation", response = Order.class),
@ApiResponse(code = 400, message = "Invalid Order") })
@RequestMapping(value = "/store/order",
@RequestMapping(value = StoreApiRoute.PLACE_ORDER_URL,
produces = "application/json",
method = RequestMethod.POST)
com.netflix.hystrix.HystrixCommand<ResponseEntity<Order>> placeOrder(@ApiParam(value = "order placed for purchasing the pet" ,required=true ) @Valid @RequestBody Order order);
Expand Down
Original file line number Diff line number Diff line change
@@ -0,0 +1,18 @@
/**
* NOTE: This class is auto generated by OpenAPI Generator (https://openapi-generator.tech) (3.3.4-SNAPSHOT).
* https://openapi-generator.tech
* Do not edit the class manually.
*/
package org.openapitools.api;

public interface StoreApiRoute {


String DELETE_ORDER_URL = "/store/order/{orderId}";

String GET_INVENTORY_URL = "/store/inventory";

String GET_ORDER_BY_ID_URL = "/store/order/{orderId}";

String PLACE_ORDER_URL = "/store/order";
}
Original file line number Diff line number Diff line change
Expand Up @@ -35,23 +35,23 @@ public interface UserApi {
@ApiOperation(value = "Create user", nickname = "createUser", notes = "This can only be done by the logged in user.", tags={ "user", })
@ApiResponses(value = {
@ApiResponse(code = 200, message = "successful operation") })
@RequestMapping(value = "/user",
@RequestMapping(value = UserApiRoute.CREATE_USER_URL,
method = RequestMethod.POST)
com.netflix.hystrix.HystrixCommand<ResponseEntity<Void>> createUser(@ApiParam(value = "Created user object" ,required=true ) @Valid @RequestBody User user);


@ApiOperation(value = "Creates list of users with given input array", nickname = "createUsersWithArrayInput", notes = "", tags={ "user", })
@ApiResponses(value = {
@ApiResponse(code = 200, message = "successful operation") })
@RequestMapping(value = "/user/createWithArray",
@RequestMapping(value = UserApiRoute.CREATE_USERS_WITH_ARRAY_INPUT_URL,
method = RequestMethod.POST)
com.netflix.hystrix.HystrixCommand<ResponseEntity<Void>> createUsersWithArrayInput(@ApiParam(value = "List of user object" ,required=true ) @Valid @RequestBody List<User> user);


@ApiOperation(value = "Creates list of users with given input array", nickname = "createUsersWithListInput", notes = "", tags={ "user", })
@ApiResponses(value = {
@ApiResponse(code = 200, message = "successful operation") })
@RequestMapping(value = "/user/createWithList",
@RequestMapping(value = UserApiRoute.CREATE_USERS_WITH_LIST_INPUT_URL,
method = RequestMethod.POST)
com.netflix.hystrix.HystrixCommand<ResponseEntity<Void>> createUsersWithListInput(@ApiParam(value = "List of user object" ,required=true ) @Valid @RequestBody List<User> user);

Expand All @@ -60,7 +60,7 @@ public interface UserApi {
@ApiResponses(value = {
@ApiResponse(code = 400, message = "Invalid username supplied"),
@ApiResponse(code = 404, message = "User not found") })
@RequestMapping(value = "/user/{username}",
@RequestMapping(value = UserApiRoute.DELETE_USER_URL,
method = RequestMethod.DELETE)
com.netflix.hystrix.HystrixCommand<ResponseEntity<Void>> deleteUser(@ApiParam(value = "The name that needs to be deleted",required=true) @PathVariable("username") String username);

Expand All @@ -70,7 +70,7 @@ public interface UserApi {
@ApiResponse(code = 200, message = "successful operation", response = User.class),
@ApiResponse(code = 400, message = "Invalid username supplied"),
@ApiResponse(code = 404, message = "User not found") })
@RequestMapping(value = "/user/{username}",
@RequestMapping(value = UserApiRoute.GET_USER_BY_NAME_URL,
produces = "application/json",
method = RequestMethod.GET)
com.netflix.hystrix.HystrixCommand<ResponseEntity<User>> getUserByName(@ApiParam(value = "The name that needs to be fetched. Use user1 for testing.",required=true) @PathVariable("username") String username);
Expand All @@ -80,7 +80,7 @@ public interface UserApi {
@ApiResponses(value = {
@ApiResponse(code = 200, message = "successful operation", response = String.class),
@ApiResponse(code = 400, message = "Invalid username/password supplied") })
@RequestMapping(value = "/user/login",
@RequestMapping(value = UserApiRoute.LOGIN_USER_URL,
produces = "application/json",
method = RequestMethod.GET)
com.netflix.hystrix.HystrixCommand<ResponseEntity<String>> loginUser(@NotNull @ApiParam(value = "The user name for login", required = true) @Valid @RequestParam(value = "username", required = true) String username,@NotNull @ApiParam(value = "The password for login in clear text", required = true) @Valid @RequestParam(value = "password", required = true) String password);
Expand All @@ -89,7 +89,7 @@ public interface UserApi {
@ApiOperation(value = "Logs out current logged in user session", nickname = "logoutUser", notes = "", tags={ "user", })
@ApiResponses(value = {
@ApiResponse(code = 200, message = "successful operation") })
@RequestMapping(value = "/user/logout",
@RequestMapping(value = UserApiRoute.LOGOUT_USER_URL,
method = RequestMethod.GET)
com.netflix.hystrix.HystrixCommand<ResponseEntity<Void>> logoutUser();

Expand All @@ -98,7 +98,7 @@ public interface UserApi {
@ApiResponses(value = {
@ApiResponse(code = 400, message = "Invalid user supplied"),
@ApiResponse(code = 404, message = "User not found") })
@RequestMapping(value = "/user/{username}",
@RequestMapping(value = UserApiRoute.UPDATE_USER_URL,
method = RequestMethod.PUT)
com.netflix.hystrix.HystrixCommand<ResponseEntity<Void>> updateUser(@ApiParam(value = "name that need to be deleted",required=true) @PathVariable("username") String username,@ApiParam(value = "Updated user object" ,required=true ) @Valid @RequestBody User user);

Expand Down
Original file line number Diff line number Diff line change
@@ -0,0 +1,26 @@
/**
* NOTE: This class is auto generated by OpenAPI Generator (https://openapi-generator.tech) (3.3.4-SNAPSHOT).
* https://openapi-generator.tech
* Do not edit the class manually.
*/
package org.openapitools.api;

public interface UserApiRoute {


String CREATE_USER_URL = "/user";

String CREATE_USERS_WITH_ARRAY_INPUT_URL = "/user/createWithArray";

String CREATE_USERS_WITH_LIST_INPUT_URL = "/user/createWithList";

String DELETE_USER_URL = "/user/{username}";

String GET_USER_BY_NAME_URL = "/user/{username}";

String LOGIN_USER_URL = "/user/login";

String LOGOUT_USER_URL = "/user/logout";

String UPDATE_USER_URL = "/user/{username}";
}
Loading