Developers
Items
Each Item can optionally have a Country of Origin specified. Countries can be retrieved using these endpoints:
Item Detail
Item Compatibility
Item compatibility is managed through the ItemCompatibilityController.
Routing
The feature uses a structured routing pattern where the action verb is typically at the end of the URL:
- List/Detail:
/Items/{BaseItemID}/Compatibility/Detail - Add:
/Items/{BaseItemID}/Compatibility/Add - Relationship Detail:
/Items/{BaseItemID}/Compatibility/{CompatibilityID}/Relationship - Edit:
/Items/{BaseItemID}/Compatibility/{CompatibilityID}/Edit - Delete:
/Items/{BaseItemID}/Compatibility/{CompatibilityID}/Delete(POST) - Search:
/Items/Compatibility/SearchItems(used for AJAX searching)
Implementation Details
- POST Actions: The Add and Edit POST actions accept individual parameters (
CompatibleItemID,CompatibilityType,NewNote) rather than a complex view model, simplifying model binding and front-end implementation. - Search: The item search functionality uses a restricted result set (max 50 items) for better performance and usability.