Я пытаюсь передать параметр из моего API, но, похоже, он его не принимает.У меня есть lastName (в конечном итоге будет заменено уникальным идентификатором), который я хочу передать, что в конечном итоге приведет к просмотру профиля или этому человеку.
Вот мой контроллер 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);
}
}
И моя логика для моей хранимой процедуры, которая получает фамилию
public class GetInquiry
{
private readonly IConfiguration configuration;
public GetInquiry(IConfiguration config)
{
configuration = config;
}
public IEnumerable<InquiryModel> GetInquiriesByUser(string lastName)
{
string ApplicationDB = configuration.GetConnectionString("ApplicationDB");
List<InquiryModel> lstinquiry = new List<InquiryModel>();
using (SqlConnection con = new SqlConnection(ApplicationDB))
{
SqlCommand cmd = new SqlCommand("spGetInquiriesByUser", con);
cmd.CommandType = CommandType.StoredProcedure;
SqlParameter lastNameParameter = cmd.Parameters.Add("lastName", SqlDbType.Char, 10);
lastNameParameter.Value = lastName;
con.Open();
SqlDataReader rdr = cmd.ExecuteReader();
while (rdr.Read())
{
InquiryModel inquiry = new InquiryModel();
//inquiry.FormID = rdr["FormID"].ToString();
inquiry.firstName = rdr["firstName"].ToString();
inquiry.lastName = rdr["lastName"].ToString();
inquiry.SID = rdr["SID"].ToString();
inquiry.email = rdr["email"].ToString();
inquiry.phone = rdr["phone"].ToString();
inquiry.email = rdr["email"].ToString();
inquiry.employer = rdr["street"].ToString();
inquiry.city = rdr["city"].ToString();
inquiry.state = rdr["state"].ToString();
inquiry.zip = rdr["zip"].ToString();
inquiry.date = rdr["date"].ToString();
inquiry.comment = rdr["comment"].ToString();
lstinquiry.Add(inquiry);
}
con.Close();
}
return lstinquiry;
}
}
}
Я использую VUE.js и вызываюмой API
methods: {
editItem(lastName) {
let id = lastName
this.$http.get('http://localhost:61601/api/GetInquiry/', {
id: lastName
}),
Я пытался использовать свою логику без IEnumerable, что, как я не думал, будет иметь значение в этом случае.
Полагаю, хорошо, что я получаю
"SqlException: процедура или функция spGetInquiriesByUser 'ожидает параметр' @lastName ', который не был предоставлен"
при вводе моего маршрута API в браузер, но когда я добавляю lastName в конец моего маршрута или Почтальона, я получаю пустую страницу.
Надеюсь, что это имеет смысл, пожалуйста, дайте мне знать, если мне нужно предоставить более подробную информацию и если кто-то может указать мне правильное направление!