Ich habe die folgende URLWeb API nicht get Parameter Parsen richtig
http://localhost/api/map/tmc/identify?
geometry={x:-112.0469856262207,y:33.3926093953406, spatialReference:{wkid:4326}}
&geometryType=esriGeometryPoint
&mapExtent={xmin:-112.18062400817871,ymin:33.33956359362892,xmax:-111.95076942443848,ymax:33.49201883920683, spatialReference:{wkid:4326}}
&tolerance=5
&sr=4326
&imageDisplay=1340,1065,96
&layers=all:0
&returnGeometry=true
&returnM=false
Ich versuche, das Objekt abzufangen folgende Aktion mit
public class SpatialReference
{
public int wkid { get; set; }
}
public class Geometry
{
public double x { get; set; }
public double y { get; set; }
public SpatialReference spatialReference { get; set; }
}
public class MapExtent
{
public double xmin { get; set; }
public double ymin { get; set; }
public double xmax { get; set; }
public double ymax { get; set; }
public SpatialReference spatialReference { get; set; }
}
public class RootObject
{
public Geometry geometry { get; set; }
public string geometryType { get; set; }
public MapExtent mapExtent { get; set; }
public int tolerance { get; set; }
public int sr { get; set; }
public List<int> imageDisplay { get; set; }
public string layers { get; set; }
public bool returnGeometry { get; set; }
public bool returnM { get; set; }
}
[HttpGet]
[Route("api/map/tmc/identify")]
public object Identify([FromUri]RootObject root)
{
return root;
}
Und ich zurück
{
"geometry":{
"x":0.0,
"y":0.0,
"spatialReference":null
},
"geometryType":"esriGeometryPoint",
"mapExtent":{
"xmin":0.0,
"ymin":0.0,
"xmax":0.0,
"ymax":0.0,
"spatialReference":null
},
"tolerance":5,
"sr":4326,
"imageDisplay":[
0
],
"layers":"all:0",
"returnGeometry":true,
"returnM":false
}
wie Sie sehen können, die Toleranz und Sr wurden richtig eingestellt, aber die Objekte waren nicht. Leider habe ich keine Kontrolle über die Anfrage (es ist immer ein GET und in diesem Format). Wie kann ich richtig die URL in die richtigen Objekte
Ich versuchte dieses ursprünglich und es sagte 'kann nicht mehrere Parameter binden', die mich zu https://stackoverflow.com/questions/ brachte 38715230/webapi-selfhost-cant-bind-mehrere-Parameter-an-den-Anforderungen-Inhalt was gesagt wurde, um ein rootobject zu verwenden, aber dann wieder das war für einen Beitrag. ich try' nur versuchen, gerade jetzt haben [FromUri] Geometrie geometry' aber ich habe noch'Erhalte bin { "x": 0, "y": 0, "spatialReference": null } ' – CuriousDeveloper