Interface OpenFoodFactsApi
- All Known Implementing Classes:
OpenFoodFactsWebClient
public interface OpenFoodFactsApi
OpenFoodFactsApi implemented designed to simplify the integration of OpenFoodFacts REST APIs into Spring Boot applications.
Developers can easily connect to the OpenFoodFacts API without implement any complex RESTFul calls.
- Author:
- Alper Mulayim https://github.com/AlperMulayim
-
Method Summary
Modifier and TypeMethodDescriptionfindPrice
(PriceRequest priceRequest) Searches for product prices based on aPriceRequest
.Finds price details for a product.getProduct
(ProductRequest request) Retrieves product details using aProductRequest
.getProduct
(String productCode) Retrieves product details.getProduct
(String productCode, List<ProductField> fields) Retrieve Product with setted fields.saveProduct
(ProductSaveRequest request) Saves new product or updates product information.searchProduct
(ProductSearchRequest request) Searches for products based on aProductSearchRequest
.reactor.core.publisher.Mono<org.springframework.http.ResponseEntity<String>>
Uploads a product image asynchronously.Uploads a product image synchronously.reactor.core.publisher.Mono<org.springframework.http.ResponseEntity<String>>
Uploads a product image asynchronously.
-
Method Details
-
getProduct
Retrieve Product with setted fields.- Parameters:
productCode
- product codefields
- the retrieved fields list on response object.ProductField
.- Returns:
- The product details wrapped in an
OpenFoodFactsResponse
. - Throws:
OpenFoodFactsException
- if the product code is null or empty.
-
getProduct
Retrieves product details.- Parameters:
productCode
- product code- Returns:
- The product details wrapped in an
OpenFoodFactsResponse
.
-
getProduct
Retrieves product details using aProductRequest
.- Parameters:
request
- The request object containing productCode and fields.- Returns:
- The product details wrapped in an
OpenFoodFactsResponse
. - Throws:
OpenFoodFactsException
- if request or required fields are null.
-
searchProduct
OpenFoodFactsPageResponse searchProduct(ProductSearchRequest request) throws InvocationTargetException, IllegalAccessException, OpenFoodFactsException Searches for products based on aProductSearchRequest
.- Parameters:
request
- The search request containing query parameters.- Returns:
- The paginated response wrapped in an
OpenFoodFactsPageResponse
. - Throws:
OpenFoodFactsException
- if request is null.InvocationTargetException
IllegalAccessException
-
findPrice
Searches for product prices based on aPriceRequest
.- Parameters:
priceRequest
- product code- Returns:
- The price details wrapped in an
OpenPriceFactsResponse
. - Throws:
OpenFoodFactsException
- if the product code is null or empty.
-
findPrice
Finds price details for a product.- Parameters:
productCode
- product code- Returns:
- The price details wrapped in an
OpenPriceFactsResponse
. - Throws:
OpenFoodFactsException
- if the product code is null or empty.
-
uploadProductImage
reactor.core.publisher.Mono<org.springframework.http.ResponseEntity<String>> uploadProductImage(ProductImageUploadRequest request) Uploads a product image asynchronously.- Parameters:
request
- The image uploadProductImageUploadRequest
. request containing image data.- Returns:
- A
Mono
with the server response.
-
uploadProductImageBlocked
Uploads a product image synchronously.- Parameters:
request
- The image upload request containing image data.ProductImageUploadRequest
.- Returns:
- server response.
- Throws:
OpenFoodFactsException
-
uploadProductImageUnblocked
reactor.core.publisher.Mono<org.springframework.http.ResponseEntity<String>> uploadProductImageUnblocked(ProductImageUploadRequest request) throws OpenFoodFactsException Uploads a product image asynchronously.- Parameters:
request
- The image uploadProductImageUploadRequest
. request containing image data.- Returns:
- A
Mono
with the server response. - Throws:
OpenFoodFactsException
-
saveProduct
Saves new product or updates product information.- Parameters:
request
- The product save new product or update product request.ProductSaveRequest
.- Returns:
- The saved product response wrapped in a
ProductSaveResponse
. - Throws:
OpenFoodFactsException
- if request is null or missing required fields.
-