Sto costruendo un'API Web. Per dare un significato ai metodi del mio controller, voglio le classi che specificano quali proprietà sono utilizzate per ogni particolare operazione. Ciò renderebbe il codice più facile da capire e anche i documenti API auto-generati sarebbero più significativi.
Esiste uno schema esistente o almeno un semi standard che possa darmi qualche indicazione su come denominare classi come quelle che seguono?
// Used for POST /entities or PUT /entities/:id
class EntityCommandDto
{
public string EditableProperty { get; set; }
}
// Used for GET /entities as IEnumerable<EntityQueryDto>
class EntityQueryDto : EntityCommandDto
{
// Id is read only so no need to have it in the base class
public int Id { get; set; }
}
// Used for GET /entities/:id
class ExpensiveQueryDto : EntityQueryDto
{
// Don't want this when getting the whole colletion so I created a separate class
public object ExpensiveRelatedEntity { get; set; }
}