POST both an image and parameters to an ORDS REST service

Pour envoyer une image avec des attributs, voici deux techniques qui fonctionnent sur Oracle ORDS (testé sur la version 23.4)

  1. Utiliser des query parameters
    • Dans le handler
      • écrire une requête du type
        insert into XXX (id, name, photo) values (:id, :lib, :BODY);
      • Ne déclarer aucun paramètres
    • Dans Postman ou Curl:
      • indiquer un content-type = image/jpg 
      • et déclarer deux query parameters : id et name
  2. Utiliser des variables de Header
    • Dans le handler,
      • écrire une requête du type
        insert into XXX (id, name, photo) values (:id, :lib, :BODY);
      • Déclarer deux paramètres de type Header: id et name
    • Dans Postman ou Curl
      • indiquer un content-type = ‘Image/jpeg’
      • et ajouter deux autres variables de header: id et lib. (Attention à ne pas utiliser un nom réservé de variable )

Il doit y avoir, peut-être, une autre approche qui consiste à utiliser du multipart content Type et qui revient à indiquer un body (=payload) de type image combiné un autre de type json structuré ainsi: {« id »: »xxx », « name », »nnnnn »}. Dans ce troisième cas, les attributs sont lus de façon implicite dans le code du handler à partir de leur noms (:id et :name) ou bien extraits depuis le paramètre implicite :BODY_TEXT.

About the author

GPM Factory