È meglio la progettazione dell'API REST per utilizzare campi condizionalmente obbligatori o per creare risorse diverse in base al valore del campo di controllo? Ecco un esempio:
POST route / automobile
{
"type": "car", //This field controls validation rules
"bedLength": 6, //required if type == "truck"
"trunkVolume": 10 //required if type == "car"
}
o
POST route / automobile / camion
{
"bedLength": 6 //required
}
POST route / automobile / auto
{
"trunkVolume": 10 //required
}
Personalmente mi propongo per il secondo progetto in cui i campi sono validati in modo indipendente. Penso che l'API sia più pulita. Ma sto ricevendo alcune discussioni dai colleghi. Mi piacerebbe sentire alcuni pensieri dagli altri. Inoltre, vorrei limitarlo alla discussione sulla progettazione degli endpoint del servizio, indipendentemente dal modo in cui i dati sono rappresentati nel dominio e nei livelli di dati.