2

J'appelle une requête Web Api Crm avec une expansion:Web Crm 304 Réponse invalide api pour Développer l'entité

https://something.crm.dynamics.com/api/data/v8.2/systemusers(F437A25E-8D81-E511-80E1-3863BB367DC0)?$select=systemuserid&$expand=new_relatedemployee($select=new_lalicense,new_lalicenseexpiration) 

Appelée pour la première fois de Chrome avec le cache activé donne une réponse 200 valide. Appeler une seconde fois donne une réponse 304 non modifiée. Jusqu'ici tout va bien. Mais si je mets à jour les attributs de l'entité new_relatedemployee dans l'extension, j'obtiens toujours une réponse 304, et les attributs étendus sont anciens et pas la valeur courante. La mise à jour de l'entité SystemUser source efface le problème 304 et récupère la nouvelle valeur.

Donc, fondamentalement, 304 réponses sont renvoyées uniquement pour l'entité principale interrogée, et non pour l'entité étendue. Je m'attendrais à ce que les deux devraient être vérifiés.

Existe-t-il un moyen de forcer la version non mise en cache du client?

Répondre

0

Je pense qu'il s'agit d'une limitation connue. Vous pouvez essayer cette requête comme solution de contournement

/systemusers?$filter=systemuserid+eq+F437A25E-8D81-E511-80E1-3863BB367DC0&$select=systemuserid&$expand=new_relatedemployee($select=new_lalicense,new_lalicenseexpiration)

La réponse de requête réglage entité ne contient pas l'en-tête Etag. Ainsi, le navigateur n'aura rien à mettre en If-None-Match en-tête de demande dans les demandes suivantes.