Déposez un TRESTClient
, TRESTRequest
et TRESTRepsonse
sur un formulaire.
Définissez les RESTClient.BaseURL
, RESTRequest.Method
et Resource
, ajoutez également un paramètre d'en-tête "Content-Type"
avec une valeur de "application/json"
.
Ajoutez une chaîne JSON à l'aide de RESTRequest.AddBody
, puis affichez le RESTRequest.ContentType
.
Il affiche ctAPPLICATION_X_WWW_FORM_URLENCODED
au lieu de ctAPPLICATION_JSON
. Cela provoque le serveur pour renvoyer une erreur lorsque RESTRequest.Execute()
est exécuté.
Comment forcer la demande à utiliser le type de contenu correct lorsque la propriété ne peut pas être affectée?
1 réponse
Après avoir regardé le code source REST.Client
, si vous spécifiez le type de contenu en utilisant ceci:
AParameter := RESTRequest.Params.AddItem;
AParameter.ContentType := ctAPPLICATION_JSON;
AParameter.name := 'Content-Type';
AParameter.Value := 'application/json';
Au lieu de cela:
RESTRequest.Params.AddHeader('Content-Type', 'application/json');
Ensuite, la propriété TRESTRequest.ContentType
retourne avec la valeur correcte, et c'est la valeur utilisée pendant TRESTRequest.Execute
.
De nouvelles questions
rest
REST (Representational State Transfer) est un style d'architecture logicielle pour les systèmes hypermédias distribués tels que le World Wide Web. Il a gagné en popularité par rapport aux architectures RPC telles que SOAP en raison du découplage intrinsèque du client du serveur qui provient d'une interface uniforme entre les systèmes hétérogènes.