Viele unserer Web API Handlungsmuster haben folgende Muster:Bind WebAPI Eigenschaften ohne Aktionsparameter
public IHttpActionResult GetDetails(Guid customerGuid)
{
Customer customer = customerRetriever.FromGuid(customerGuid);
if (customer == null)
return NotFound();
// Do Stuff....
}
Ich möchte aus dem Action-Methode alle Kunden Lookup Kesselblech bewegen. Ich habe Attribut eines Action-Filter, dies zu tun, um den Wert des Aktionsarguments suchen und eine Anfrage-Eigenschaft:
KeyValuePair<String, Object> argument = actionContext.ActionArguments.Single(kvp => kvp.Key.Equals(ParameterName));
Guid customerGuid = (Guid)argument.Value;
// Do customer lookup, return 404 if needed
// Add customer to request properties
Dies funktioniert, aber ich brauche noch das nun überflüssig Guid in meiner Aktion Signatur aufzunehmen. Wenn ich dies entferne, scheitert mein Ansatz, den Guid-Wert zu finden. Gibt es eine Möglichkeit, einen Wert aus dem URI zu binden, ohne diesen Wert als Aktionsparameter zu haben?
ist die Kundennummer die ID, wenn der Benutzer den Anruf tätigt? Oder ruft der Benutzer einen bestimmten Kunden an? Wenn dies der Fall ist, dann sind das die Authentifizierungs- und Autorisierungsaktionsfilter. – Nkosi