IdentifiantMot de passe
Loading...
Mot de passe oublié ?Je m'inscris ! (gratuit)
Navigation

Inscrivez-vous gratuitement
pour pouvoir participer, suivre les réponses en temps réel, voter pour les messages, poser vos propres questions et recevoir la newsletter

IGN API Géoportail Discussion :

Etat des Geoservices bêta look4


Sujet :

IGN API Géoportail

  1. #1
    Candidat au Club
    Homme Profil pro
    Ingénieur développement logiciels
    Inscrit en
    Janvier 2018
    Messages
    3
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : France, Hauts de Seine (Île de France)

    Informations professionnelles :
    Activité : Ingénieur développement logiciels
    Secteur : High Tech - Éditeur de logiciels

    Informations forums :
    Inscription : Janvier 2018
    Messages : 3
    Points : 3
    Points
    3
    Par défaut Etat des Geoservices bêta look4
    Bonjour,

    J'ai tenté d'utiliser la nouvelle version des géoservices IGN look4 exposant une doc Swagger.

    Je n'ai pour l'instant pu essayer que le reverse geocoding, mais sans succès ; je rencontre notamment les problèmes suivants :


    Génération de code Java à partir du swagger.yaml


    J'utilise swagger-codegen-maven-plugin en version 3.0.19, compatible openAPI 3, afin de générer les modèles et services permettant d'appeler les endpoints exposés par Swagger.

    Il y a déjà un premier souci avec l'attribut interne _type de la classe PoiProperties, dont les getters/setters générés font doublons avec l'attribut type (sans underscore), cet attribut est peut-être à exclure de la génération ?

    De plus, le swagger.yaml semble présenter un problème d'héritage, exemple avec l'objet SearchGeom :

    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    6
    7
    8
    SearchGeom:
          type: object
          oneOf:
          - $ref: '#/components/schemas/GeometryPoint'
          - $ref: '#/components/schemas/GeometryLineString'
          - $ref: '#/components/schemas/GeometryPolygon'
          - $ref: '#/components/schemas/GeometryCircle'
    Ce code a pour effet de générer 5 POJO (les 4 géométries + SearchGeom) qui implémentent OneOfSearchGeom. La structure attendue serait plutôt d'avoir les 4 géométries qui étendraient SearchGeom ?

    Ceci serait permis par le schéma suivant :

    Retrait de OneOf ; l'utilisation de l'attribut discriminator ne semble pas être nécessaire ici
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    schemas:
          SearchGeom:
             type: object
    Ajout de allOf
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    6
    7
    8
    9
    10
    11
    12
    13
    14
    15
    16
    17
    18
    19
    GeometryPoint:
             type: object
             properties:
                type:
                   type: string
                   enum:
                   - Point
                coordinates:
                   type: array
                   items:
                      type: number
             example:
                type: Point
                coordinates:
                - 2.03648539635326
                - 44.3492508045369
             allOf:
             -  $ref: '#/components/schemas/SearchGeom'
    Construction de la requête
    Même en corrigeant les erreurs ci-dessus, la requête ne se construit pas correctement et tente de sérialiser la classe objet SearchGeom :

    https://geocodage.ign.fr/look4//addr...Geometry=false


    Y-a-t-il des examples d'utilisation d'un client, Java ou non, généré à l'aide de ces services ? J'ai bien conscience qu'ils sont en version bêta et je ne sais donc pas s'il est possible de les utiliser d'ores et déjà de cette manière.

    Merci !

  2. #2
    Candidat au Club
    Homme Profil pro
    Ingénieur développement logiciels
    Inscrit en
    Janvier 2018
    Messages
    3
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : France, Hauts de Seine (Île de France)

    Informations professionnelles :
    Activité : Ingénieur développement logiciels
    Secteur : High Tech - Éditeur de logiciels

    Informations forums :
    Inscription : Janvier 2018
    Messages : 3
    Points : 3
    Points
    3
    Par défaut
    Bonjour,

    Je me permets d'up cette discussion afin d'obtenir plus d'informations avant de me lancer sur du dev sur l'ancienne API.

  3. #3
    Membre éclairé Avatar de elias couppe
    Homme Profil pro
    Développeur Web
    Inscrit en
    Décembre 2014
    Messages
    408
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : France, Paris (Île de France)

    Informations professionnelles :
    Activité : Développeur Web
    Secteur : High Tech - Multimédia et Internet

    Informations forums :
    Inscription : Décembre 2014
    Messages : 408
    Points : 787
    Points
    787
    Par défaut
    Bonjour,

    Merci de l'intérêt que nous portez à nos outils.

    Le problème rencontré semble plutôt relatif à la génération de code java à partir de nos spécifications swagger. Et comme vous avez pu le constater, même en modifiant le swagger.yml, la requête n'est pas correctement générée.
    Ce problème ne concerne donc pas directement notre service ni sa documentation swagger. Nous vous conseillons donc de vous diriger vers le projet github swagger-codegen pour tenter de corriger ce bug.


    Cordialement

Discussions similaires

  1. conserver l'etat des options de select multiple apres le submit
    Par raul_le_vieux dans le forum Général JavaScript
    Réponses: 8
    Dernier message: 25/07/2007, 15h41
  2. Treeview : memoriser l'etat des noeuds d'un treeview
    Par tuxor dans le forum AWT/Swing
    Réponses: 2
    Dernier message: 19/04/2006, 04h28
  3. Vérification de l'etat des JComboBox dans JTable
    Par nicotine002 dans le forum Composants
    Réponses: 5
    Dernier message: 26/01/2006, 11h47

Partager

Partager
  • Envoyer la discussion sur Viadeo
  • Envoyer la discussion sur Twitter
  • Envoyer la discussion sur Google
  • Envoyer la discussion sur Facebook
  • Envoyer la discussion sur Digg
  • Envoyer la discussion sur Delicious
  • Envoyer la discussion sur MySpace
  • Envoyer la discussion sur Yahoo