Different model requirements for POST and PUT
Say I have a controller CatController with actions for GET, POST and PUT. They all use the same Cat resource which could look like this: public class CatDto { public int Id { get; set; } [Required] public string Name { get; set; } [Required] public bool IsFriendly {get; set; } } However, the Name and IsFriendly properties should only be required when creating a new cat (POST), but optional when updating it (PUT) to allow updating only a single property. The way I've handled this until now is simply having two classes, a CreateCat and UpdateCat which have the same properties but different data