J'ai la méthode de contrôleur suivante qui accepte la commande en tant que modèle de changement transmis par le client.Comment modéliser le segment de chemin de rattachement à la propriété d'objet
[HttpPut]
[Route("api/features/{name}")]
public async Task<IActionResult> PutFeatureValueAsync(
string name,
[FromBody] SetFeatureCommand command,
CancellationToken token)
{
command.FeatureName = name;
await mediator.Send(command, token).ConfigureAwait(false);
return Ok();
}
Le problème est que je dois copier une propriété FeatureName à l'objet de commande manuellement si je veux garder le {name} dans l'URL. L'autre problème est que je ne peux pas effectuer correctement une validation si FeatureName n'est pas défini pendant la liaison de modèle. Quelle serait la meilleure façon d'avoir {nom} le segment du chemin pour modéliser automatiquement la liaison à la propriété FeatureName de la commande.
Le problème avec ces approches est que je dois ré-écrire la chose qui est déjà dans le BodyProvider est pas? Disons que la commande a 5 propriétés. 4 d'entre eux je veux continuer à être lié de [FromBody] ou quoi que ce soit d'autre est marqué. Mais avoir une propriété liée à partir d'une autre source de liaison (chemin) en utilisant le mappage personnalisé. Je pense plus en termes de personnalisé IValueProviderFactory qui fournit des valeurs de routage sous des noms remappés afin que les classeurs de modèle par défaut les ramassent juste –