Voici la documentation : https://geoplateforme.pages.gpf-tech.ign.fr/documentation

Skip to content

Task - créer un test pour le patch d'une feature

Created by: benoitdm-oslandia

Tâches

  • vérifier que l'api contienne le PATCH

  • vérifier que le schéma json est disponible ?

  • vérifier que la donnée est modifiée

  • ajouter la route avec nouvelle methode (handler) : http PATCH /collections/{collId}/items/{featureId}

  • ajouter un nouveau Content-Type : application/merge-patch+json

  • construire le body (mock):

      {                                                                   
         "geometry": {                                                    
            "coordinates": [                                              
              [[[-122.2679,37.8009],[-122.2679,37.8009],                  
                [-122.2681,37.8007],[-122.2678,37.8005],                  
                [-122.2676,37.8008],[-122.2679,37.8009]]]                 
            ]                                                             
         },                                                               
         "properties": {                                                  
            "apnid": 1310,                                                
            "primary_material": "red brick"                               
         }                                                                
      }
  • tests à faire dans le handler :

    • existance {collectionId}
    • existance {featureId}
    • validité du schema (properties et type de geom)
  • construire la reponse en json (Content-Type: application/geo+json):

                                                                                                         
      {                                                                   
        "type": "Feature",                                                
        "id": "OB.2",                                                     
        "geometry": {                                                     
          "type": "MultiPolygon",                                         
          "coordinates": [                                                
            [[[-122.2679,37.8009],[-122.2679,37.8009],                    
              [-122.2681,37.8007],[-122.2678,37.8005],                    
              [-122.2676,37.8008],[-122.2679,37.8009]]]                   
          ]                                                               
        },                                                                
        "properties": {                                                   
          "shape_len": 402.19805753,                                      
          "shape_area": 10117.0666708,                                    
          "bldgid3": "258 11TH ST_bldg1",                                 
          "bldgid2": "258 11TH ST",                                       
          "bldgtype": "Store Building",                                   
          "final_apn": "002 006901000",                                   
          "apnid": 1310                                                   
          "nostory": 1,                                                   
          "bldgnum": "bldg1",                                             
          "numbldgs": 1,                                                  
          "comname": "John Sardell & Sons"                                
          "primary_material": "red brick"                                 
        }                                                                 
      }    
  • mettre en place les mocks si nécessaire

  • ajouter l'impl. openapi pour le swagger

  • tester avec le swagger ou curl

  • implémenter fonctions d'update UpdateTableFeature dans les catalogues:

    • catalogDB::UpdateTableFeature
    • CatalogMock::UpdateTableFeature

Questions

Gestion d'un tag pour les CRS (autre que l'EPSG:4326 par defaut) ?

Peut on ajouter directement une nouvelle propertie (ex. primary_material) ? R: non

L'ajout d'une nouvelle properties doit elle être gerée dans l'impl. route pour modification de schema ? R: Pour l'instant ce n'est pas prévu