Pour des raisons de maintenance du site, un arrêt du site aura lieu lundi 16 décembre 2019 à partir de 18H00, pour une durée estimée de 30 minutes.

Veuillez nous excuser pour les désagréments que cette opération pourrait causer.

Désactiver des membres via l'API rest

Mehdi Ouadahi · le 07/11/19 à 10:01

Bonjour,

Je m'excuse d'avance car c'est sans doute dû a une incompréhension de ma part.

Lorsque j'envoie une requête GET à l'url {context}/rest/data/member/{login} j'ai bien les détails du membre.

Lorsque je fais une requête POST à l'url {context}/rest/data/member/{login}?action=disable je reçois un 400 bad request <status>Missing request entity</status>

Pourriez-vous m'éclairer svp.

Cordialement,

4 pts
Frédéric Touitou · le 07/11/19 à 10:29

Bonjour,

Puisque la requête de désactivation est une requête POST, vous devez passer le paramètre action=disable dans le corps (body) de la requête HTTP, et non pas dans l'URL elle-même.

JPlatform recevant, dans l'exemple que vous avez montré, un "corps" vide, il retourne une erreur indiquant qu'il manque un paramètre ("Missing request entity"), en l'occurrence l'action à effectuer.

Je ne sais pas si les appels POST sont possibles depuis un navigateur (peut-être avec des plugins dédiés ???) ; en général, il faut utiliser soit un langage de développement permettant d'effectuer des appels Rest, soit (pour tester notamment) un outil permettant d'effectuer de telles requêtes (Postman en fournit un sauf erreur).

Bien cordialement.

#1

Vous avez aussi REST Client Tool Window (je ne l'ai pas testé)

Frédéric Touitou · le 07/11/19 à 10:33
#2

Bonjour,

Je vous remercie pour votre réponse rapide et claire, c'est plutôt ma question qui ne l'était pas.

J'ai effectivement testé dans le body de la requête POST, même avant de poster ma question, mais vu que dans la documentation il est écrit que l'action passe dans le "queryString" qui est dans l'URL et non dans le body, j'ai cru que ce serait pareil pour les requêtes POST.

mceclip0 - 2019-11-07 13h11m12s

il s'avère que j'utilise ARC (advanced rest client) pour faire mes tests, que j'ai essayé un Content-type "application/x-www-form-urlencoded" avec "action=disable", et un compte admin évidemment, j'ai un 403 forbidden avec comme réponse une page HTML, même en ajoutant un header accept "application/json" il ne répond qu'en HTML. Si je fais un content-type "application/json" avec un body {"action": "disable"} j'ai un 400 Bad request, donc non je ne comprends pas le fonctionnement.

En vous remerciant d'avance pour votre aide.

Mehdi Ouadahi · le 07/11/19 à 13:12
0 pt