ASP.NET Core 2.1 API不带参数
我试图从我的API中传递一个参数,但它似乎没有接受它。我有一个我想要传递的姓氏(最终将替换为唯一id),它最终将路由到纵断面图或那个人 这是我的API控制器:ASP.NET Core 2.1 API不带参数,asp.net,api,asp.net-core,parameters,Asp.net,Api,Asp.net Core,Parameters,我试图从我的API中传递一个参数,但它似乎没有接受它。我有一个我想要传递的姓氏(最终将替换为唯一id),它最终将路由到纵断面图或那个人 这是我的API控制器: public class GetInquiryController : BaseController { private GetInquiry manager; public GetInquiryController(IConfiguration config) : base(config) {
public class GetInquiryController : BaseController
{
private GetInquiry manager;
public GetInquiryController(IConfiguration config) : base(config)
{
manager = new GetInquiry(config);
}
[HttpGet]
[Route("api/[controller]")]
public IEnumerable<InquiryModel> Get(string lastName)
{
return manager.GetInquiriesByUser(lastName);
}
}
我曾尝试使用我的逻辑,但没有使用IEnumerable,我认为在这种情况下不会有什么不同
我想好的是我得到了
SqlException:过程或函数“SpGetInquiriesByser”需要参数“@lastName”,但未提供该参数
当我在浏览器中输入我的API路线时,但当我将姓氏添加到路线或邮递员的末尾时,我会得到一个空白页面
希望这是有意义的,请让我知道,如果我需要提供更多的细节,如果有人可以向我指出正确的方向 您需要定义lastName参数的读取位置 如果要从路由中读取,请使用FromRoute属性
[HttpGet("{lastName}")] //api/GetInquiry/yourlastname
public IEnumerable<InquiryModel> Get([FromRoute]string lastName)
{
return manager.GetInquiriesByUser(lastName);
}
[HttpGet] //api/GetInquiry?lastName=yourlastname
public IEnumerable<InquiryModel> Get([FromQuery]string lastName)
{
return manager.GetInquiriesByUser(lastName);
}
你怎么称呼API?@Shyju,我刚刚更新了我的问题。我正在使用VUE.js并在上面的方法中调用我的API。您能否确认您实际上正在将lastName传递给该方法?也许,您可以使用断点进行调试,以便首先验证这一点。
[HttpGet("{lastName}")] //api/GetInquiry/yourlastname
public IEnumerable<InquiryModel> Get([FromRoute]string lastName)
{
return manager.GetInquiriesByUser(lastName);
}
[HttpGet] //api/GetInquiry?lastName=yourlastname
public IEnumerable<InquiryModel> Get([FromQuery]string lastName)
{
return manager.GetInquiriesByUser(lastName);
}
methods: {
editItem(lastName) {
this.$http.get('http://localhost:61601/api/GetInquiry/', {
lastName: lastName
}),