Zurück Komplexes Objekt in REST Web-API-Aufruf
Ich habe eine Web API-POST-Methode nimmt eine benutzerdefinierte komplexe Objekt MyObjectRequest
als parameter und gibt ein benutzerdefiniertes Komplexes Objekt MyObjectResponse
. Die MyObjectResponse
Objekt hat benutzerdefinierte komplexe Objekt Token
als Eigenschaft.
public class MyObjectRequest
{
public string AppName { get; set; }
public string Username { get; set; }
public string Password { get; set; }
public string AppIdentifier { get; set; }
}
public class MyObjectResponse
{
public bool Authenticated { get; set; }
public Token AccessToken { get; set; }
}
public class Token
{
public string Id { get; set; }
public string ExpirationDate { get; set; }
}
Habe ich den Web-API-controller, wo, wenn der Benutzer eine HTTP-POST-Aufruf, möchte ich zu dem zurückkehren der MyObjectResponse
.
public class MyCustomController : Controller
{
public MyObjectResponse Post([FromBody] MyObjectRequest request)
{
//do my work here
}
}
Ist das der richtige Weg, meine MyCustomController
API-Signatur?
Du musst angemeldet sein, um einen Kommentar abzugeben.
Was müssen Sie sicher arbeiten können. Ich Neige dazu, wickeln Sie die Objekte in der
HttpResponseMessage
wie unten:Diese Weise kann der client schaut einfach auf dem status-code und entscheiden, was zu tun, mit der Antwort, ohne wirklich zu versuchen zu Deserialisieren es. Sie können mehr info auf HttpStatusCodes bei in diesem MSDN-Artikel.
Haben Sie weitere Methoden wie
ApiController.Ok
im WebApi2. Für weitere Informationen, können Sie einen Blick auf diese ASP.NET WEB-API-übersicht Seite.Ja, das ist vollkommen in Ordnung, so wie eine api-Signatur