在ASP.NET Web API中,以下代码运行良好,但在ASP.NET Core中不起作用。
端点
端点
api/devices?query={"deviceName":"example"}
[HttpGet]
public Device ([FromUri] string deviceName)
{
var device = context.Computers.Where(x => x.deviceName == deviceName);
return device;
}
在ASP.NET Core Web API中,缺少[FromUri]
属性,我尝试使用以下代码,但没有成功。[HttpGet]
public Device Get([FromQuery] string deviceName)
{
return repo.GetDeviceByName(deviceName);
}
query
而不是deviceName
。deviceName
是一些类似JSON的查询参数的属性。对于GET请求,你应该只使用查询参数,而对于POST请求,则将数据传输到请求体中。如果你真的想要这种非标准的方式(与ASP.NET Core没有任何关联)仍然工作,你需要编写自己的模型绑定器。 - Tseng