Skip to content

Commit

Permalink
Merge pull request #95 from vitaliibredun/docs/product-10/add-openAPI…
Browse files Browse the repository at this point in the history
…-for-product-package

[product-5] add OpenAPI for product package
  • Loading branch information
Sunagatov authored Sep 10, 2023
2 parents 473fc52 + 93a0b99 commit b3b2d63
Show file tree
Hide file tree
Showing 3 changed files with 11 additions and 8 deletions.
3 changes: 2 additions & 1 deletion pom.xml
Original file line number Diff line number Diff line change
Expand Up @@ -65,7 +65,7 @@
<sonar-maven-plugin.version>3.7.0.1746</sonar-maven-plugin.version>
<instancio-junit.version>3.0.1</instancio-junit.version>
<spring-retry.version>2.0.2</spring-retry.version>
<openapi-generator-maven-plugin.version>5.3.0</openapi-generator-maven-plugin.version>
<openapi-generator-maven-plugin.version>6.6.0</openapi-generator-maven-plugin.version>
<jackson-databind-nullable.version>0.2.1</jackson-databind-nullable.version>
<springdoc-openapi-ui.version>1.7.0</springdoc-openapi-ui.version>
<validation-api.version>2.0.1.Final</validation-api.version>
Expand Down Expand Up @@ -334,6 +334,7 @@
<generateModels>false</generateModels>
<configOptions>
<interfaceOnly>true</interfaceOnly>
<useTags>true</useTags>
</configOptions>
</configuration>
</execution>
Expand Down
Original file line number Diff line number Diff line change
@@ -1,6 +1,6 @@
package com.zufar.onlinestore.product.endpoint;

import com.zufar.onlinestore.openapi.api.ApiApi;
import com.zufar.onlinestore.openapi.api.ProductsApi;
import com.zufar.onlinestore.product.api.ProductApi;
import com.zufar.onlinestore.product.dto.ProductInfoDto;
import com.zufar.onlinestore.product.dto.ProductListWithPaginationInfoDto;
Expand All @@ -21,12 +21,13 @@
@RequiredArgsConstructor
@Validated
@RequestMapping(value = ProductsEndpoint.PRODUCTS_URL)
public class ProductsEndpoint implements ApiApi {
public class ProductsEndpoint implements ProductsApi {

public static final String PRODUCTS_URL = "/api/v1/products";

private final ProductApi productApi;

@Override
@GetMapping("/{productId}")
public ResponseEntity<ProductInfoDto> getProductById(@PathVariable final String productId) {
log.info("Received the request to get the product with productId - {}.", productId);
Expand All @@ -36,9 +37,10 @@ public ResponseEntity<ProductInfoDto> getProductById(@PathVariable final String
.body(product);
}

@Override
@GetMapping
public ResponseEntity<ProductListWithPaginationInfoDto> getProducts(@RequestParam(name = "page", defaultValue = "0") int page,
@RequestParam(name = "size", defaultValue = "50") int size,
public ResponseEntity<ProductListWithPaginationInfoDto> getProducts(@RequestParam(name = "page", defaultValue = "0") Integer page,
@RequestParam(name = "size", defaultValue = "50") Integer size,
@RequestParam(name = "sort_attribute", defaultValue = "name") String sortAttribute,
@RequestParam(name = "sort_direction", defaultValue = "desc") String sortDirection) {
log.info("Received the request to get products with these pagination and sorting attributes: page - {}, size - {}, sort_attribute - {}, sort_direction - {}",
Expand Down
6 changes: 3 additions & 3 deletions src/main/resources/api-specs/product-openapi.yaml
Original file line number Diff line number Diff line change
Expand Up @@ -8,14 +8,14 @@ servers:
- url: "http://localhost:8083"

tags:
- name: "Product"
- name: "Products"
description: "An API for managing and retrieving product information"

paths:
/api/v1/products/{productId}:
get:
tags:
- "Product"
- "Products"
summary: "Enables to get a product by its id"
operationId: "getProductById"
parameters:
Expand All @@ -36,7 +36,7 @@ paths:
/api/v1/products:
get:
tags:
- "Product"
- "Products"
summary: "Enables to get the product list with pagination and sorting features"
operationId: "getProducts"
parameters:
Expand Down

0 comments on commit b3b2d63

Please sign in to comment.