Migrate ProductMeasurementUnitsRestApi to API Platform
Edit on GitHubThis document describes how to migrate the ProductMeasurementUnitsRestApi Glue module to the API Platform ProductMeasurementUnit module.
Prerequisites
Complete the cross-cutting changes described in Migrate Glue REST API to API Platform before proceeding.
Overview
The ProductMeasurementUnitsRestApi module provided the following storefront endpoints:
| Endpoint | Operation | Old plugin |
|---|---|---|
GET /product-measurement-units |
List measurement units | ProductMeasurementUnitsResourceRoutePlugin |
GET /product-measurement-units/{code} |
Get measurement unit | ProductMeasurementUnitsResourceRoutePlugin |
GET /concrete-products/{sku}/sales-units |
Get sales units for product | SalesUnitsResourceRoutePlugin |
These are now served by the API Platform ProductMeasurementUnit module.
1. Update module dependencies
composer require spryker/product-measurement-unit:"^X.Y.Z"
Version
Use the version that includes the API Platform resources. Check the module changelog for the exact version.
2. Remove route plugins from GlueApplicationDependencyProvider
In src/Pyz/Glue/GlueApplication/GlueApplicationDependencyProvider.php, remove the following plugins from getResourceRoutePlugins():
| Plugin to remove | Fully qualified class name |
|---|---|
ProductMeasurementUnitsResourceRoutePlugin |
Spryker\Glue\ProductMeasurementUnitsRestApi\Plugin\GlueApplication\ProductMeasurementUnitsResourceRoutePlugin |
SalesUnitsResourceRoutePlugin |
Spryker\Glue\ProductMeasurementUnitsRestApi\Plugin\GlueApplication\SalesUnitsResourceRoutePlugin |
3. Regenerate transfers and API resources
docker/sdk cli console transfer:generate
docker/sdk cli glue api:generate
docker/sdk cli glue cache:clear
Relationship plugin status
| Plugin | Registered on resource | Status | Notes |
|---|---|---|---|
ProductMeasurementUnitsByProductConcreteResourceRelationshipPlugin |
concrete-products |
Removed | Measurement units are now accessible via ?include=product-measurement-units in the API Platform ProductMeasurementUnit module. |
ProductMeasurementUnitsBySalesUnitResourceRelationshipPlugin |
sales-units |
Removed | The sales-units resource no longer exists in the legacy Glue layer after this migration. |
SalesUnitsByProductConcreteResourceRelationshipPlugin |
concrete-products |
Removed | Sales units are now included via the API Platform resources. |
SalesUnitsByCartItemResourceRelationshipPlugin |
items, guest-cart-items |
Removed | Sales unit relationships on cart items are now handled by the API Platform Cart module. |
Thank you!
For submitting the form