Bonjour, j'aimerais utiliser l'API Symfony (API PLATFORM) avec Windev mobile, mais malgré mes nombreuses recherches, je n'y parviens pas.
Pourriez-vous me donner des explications sur l'utilisation de l'API et me fournir un lien qui pourrait me guider dans la recherche d'une solution?
Lorsque je lance le code, @context, @id et @type sont les premiers à apparaître, tandis que je préférerais obtenir les données directement.

{
  "@context": "/apip/contexts/TrCompagnies",
  "@id": "/apip/tr_compagnies",
  "@type": "hydra:Collection",
  "hydra:member": [
    {
      "@id": "/apip/tr_compagnies/1",
      "@type": "TrCompagnies",
      "id": 1,
      "COMP_LIB": "test",
      "COMP_TEL": 700000000,
      "COMP_EMAIL": "test@gmail.com",
      "COMP_PAYS": "/apip/tr_pays/1",
      "COMP_LOGO": "telechargement-65b3c2626b4dc.png",
      "trVoyages": [],
      "trGares": [
        "/apip/tr_gares/1"
      ],
      "cOMPLIB": "test",
      "cOMPTEL": 700000000,
      "cOMPEMAIL": "test@gmail.com",
      "cOMPPAYS": "/apip/tr_pays/1",
      "cOMPLOGO": "telechargement-65b3c2626b4dc.png"
    }
  ],
  "hydra:totalItems": 1
}

2 réponses


Bonjour ,
Le plus je te recommande de convertir les données renvoyés par API PLATFORM en application/json qu'au lieu du ld json

alali
Auteur

Mon code Windev mobile

h est un httpRequête
h.Méthode       = httpGet
h.URL           = "https://****/****/****/apip/tr_compagnies?page=1"
h.ContentType   = "application/json"

r       est un httpRéponse  = RESTEnvoie(h)
Contenu est une chaîne ANSI

SI r.CodeEtat = 200 ALORS // Requête traitée avec succès
    Contenu = r.Contenu
    Info(Contenu)
SINON
    Info("Une erreur est survenue " +  ErreurInfo() + r.CodeEtat + r.DescriptionCodeEtat)
FIN

resultat

"@context": "/****/****/apip/contexts/TrCompagnies",
    "@id": "/****/****/apip/tr_compagnies",
    "@type": "hydra:Collection",
    "hydra:member": [
        {
            "@id": "/*****/*****/apip/tr_compagnies/1",
            "@type": "TrCompagnies",
            "id": 1,
            "COMP_LIB": "CHONCO",
            "COMP_TEL": 700000000,
            "COMP_EMAIL": "*********@gmail.com",
            "COMP_PAYS": "/*****/*****/apip/tr_pays/1",
            "COMP_LOGO": "telechargement-65b3c2626b4dc.png",
            "trVoyages": [],
            "trGares": [
                "/*****/*****/apip/tr_gares/1"
            ],
            "cOMPLIB": "CHONCO",
            "cOMPTEL": 700000000,
            "cOMPEMAIL": "ouattaraalali@gmail.com",
            "cOMPPAYS": "/*****/*****/apip/tr_pays/1",
            "cOMPLOGO": "telechargement-65b3c2626b4dc.png"
        }
    ],
    "hydra:totalItems": 1
}

Mon souhait comment sauter ca

@context": "/****/****/apip/contexts/TrCompagnies",
"@id": "/****/****/apip/tr_compagnies",
"@type": "hydra:Collection",
 "hydra:member":

et commencer à utiliser ca

[
        {
            "@id": "/*****/*****/apip/tr_compagnies/1",
            "@type": "TrCompagnies",
            "id": 1,
            "COMP_LIB": "CHONCO",
            "COMP_TEL": 700000000,
            "COMP_EMAIL": "*********@gmail.com",
            "COMP_PAYS": "/*****/*****/apip/tr_pays/1",
            "COMP_LOGO": "telechargement-65b3c2626b4dc.png",
            "trVoyages": [],
            "trGares": [
                "/*****/*****/apip/tr_gares/1"
            ],
            "cOMPLIB": "CHONCO",
            "cOMPTEL": 700000000,
            "cOMPEMAIL": "ouattaraalali@gmail.com",
            "cOMPPAYS": "/*****/*****/apip/tr_pays/1",
            "cOMPLOGO": "telechargement-65b3c2626b4dc.png"
        }
    ]

Il suffit de lire la doc,
Il faut changer ton header lors de la requête => 'accept: application/json'