我有一个GRID
控制器,并创建我的API以获取一个车辆列表,其中包含ListTree
中每辆车的详细信息,并且工作正常。
现在我为汽车创建一个ID and Color
,只需要基本的细节。 GetSimpleCar()
我如何在当前控制器中创建具有相同签名的另一个方法CarSimple
,或者我应该创建另一个控制器public List<dtoCar> Get()
{
List<dtoCar> result = db.cars.Select(
r => new dtoCar
{
Car_ID = r.car_id,
X = r.x,
Y = r.y,
RoadName = r.rto.name,
Azimuth = (int)r.avl.azimuth,
Color = r.Color,
DateTime = r.datetime.Value,
Geom = r.geomtext
}).ToList();
return result;
}
目前我有:
$('#ajax').jstree({
'core': {
'data': {
-- RIGHT NOW
"url": "http://localhost/TreeTest/api/Cars/"
^^
Controller
-- DESIRE CHANGE
"url": "http://localhost/TreeTest/api/Cars/GetSimpleCar"
^^
Second Method?
}
},
"checkbox": {
"keep_selected_style": false
},
"plugins": ["wholerow", "checkbox"]
});
我不想使用当前的API来创建树。
{{1}}
答案 0 :(得分:1)
您可以在同一控制器中设置固定路线,如下所示:
using System.Web.Http;
...
[HttpGet]
[Route("api/Cars/GetSimpleCar")]
public object GetCarsButOnlyIdAndColor()
{
return db.cars.Select(r => new
{
Car_ID = r.car_id,
Color = r.Color,
}).ToList();
}
WebApi不关心方法的名称,重要的是路线。
和vendettamit说的一样,你需要Enable Attribute Routing
文档: