ASP.NET Core 2.1 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) {

我试图从我的API中传递一个参数,但它似乎没有接受它。我有一个我想要传递的姓氏(最终将替换为唯一id),它最终将路由到纵断面图或那个人

这是我的API控制器:

   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
    }),