This is just a guide to help you decide. Ask yourself these questions:
To Read Entities
- Can your client code (JavaScript) work with the standard JSON format?
- AND do you only need standard REST commands like GetAll and GetOneById ➡ Entity REST APIs
- AND do you need special predefined queries like Sort By XXX or Get Top 20 From Category ABC ➡ Query REST APIs
- If you can't use the standard JSON format but need something custom ➡ Custom WebAPIs
- If you need very special queries ➡ Custom WebAPIs
To Create/Update Entities
In most cases you should use ➡ Entity REST APIs
Special cases like the following will need ➡ Custom WebAPIs
- Custom logic before saving the data like:
- Custom validation
- Generate additional values on the server like special titles or time stamps
- Look-Up additional values like User-IDs, data from SQL etc.
- Also save files / attachments / images?
- Also send e-mails?
- Also change other data like SQL
- Perform custom security checks beyond the features of 2sxc/EAV
- Make an item a Metadata for something else
- Use other keys than the normal id/guid keys
To Delete Entities
In most cases you can use the ➡ Entity REST APIs
Special cases like the following will need ➡ Custom WebAPIs
- Special security checks
- Special validation checks