Je n'arrive pas à comprendre comment gérer NULL (404 Not Found) sur le client lors de l'appel d'une OData fonction pour une entité donnée.Microsoft OData Client 6.x avec le service OData 4.x handle NULL return (404 Not Found) sur le client
Ex> appelant le service comme "Context.Objects.ByKey (1) .SomeFunction(). GetValue()"
Je veux obtenir "NULL" du service, mais plutôt sur le client, il jette un 404 Not Found exception. Si je modifie le service pour retourner "NULL" alors je recevrai une exception de sérialisation sur le serveur et si je demande au serveur de retourner "OK (null)", j'obtiendrai également une exception de sérialisation.
Voici le code du serveur pour le contrôleur
[HttpGet]
public IHttpActionResult SomeFunction([FromODataUri] int key)
{
string something = null;
// Do some check and adjust the variable "something"
if (string.IsNullOrWhiteSpace(something))
{
return NotFound();
}
else
{
return Ok(something);
}
}
Et voici le code WebApiConfig
builder.EntityType<SomeObject>().Function("SomeFunction").Returns<string>();
Je ne peux pas sembler trouver la façon « correcte » de la gestion des valeurs nulles de la service odata lors de l'utilisation du client Microsoft OData.
Peut-être que je peux fil dans l'événement client "ReceivingResponse" pour gérer le 404 Introuvable comment? Toutes les suggestions ...