我正在创建一个Web api控制器并使用数据类型类实现([HttpGet])参数化的get方法,但是当我运行此方法时,它显示404 Not Found。 当我实现字符串或int之类的普通数据类型时,它向我显示答案或诸如List之类的数据类型仍然给了我答案,但是当我直接将数据类型声明为像Student这样的类时,它的show 404未找到错误。我不知道为什么会这样。我正在尝试使用MVC学习Web API,请帮助我。
我正在创建一个简单的Student类和一个studentapicontroller。在我的api控制器中,我创建了具有数据类型类的get方法,并且出于测试目的,我制作了具有不同数据类型的其他get方法
Student.cs:
using System;
using System.Collections.Generic;
using System.Linq;
using System.Web;
namespace epay.Models
{
public class student
{
public int id { get; set; }
public string name { get; set; }
}
}
studentapiController:
using System;
using System.Collections.Generic;
using System.Linq;
using System.Net;
using System.Net.Http;
using System.Web.Http;
using epay.Models;
namespace epay.Controllers
{
public class studentapiController : ApiController
{
// GET api/studentapi
public IEnumerable<string> Get()
{
return new string[] { "value1", "value2" };
}
// GET api/studentapi/5
{
return "value";
}
// POST api/studentapi
public void Post([FromBody]string value)
{
}
// PUT api/studentapi/5
public void Put(int id, [FromBody]string value)
{
}
// DELETE api/studentapi/5
public void Delete(int id)
{
}
//POST api/studentapi/
[HttpGet]
public student getdetails(int id, string na)
{
student st = new student();
st.id = id;
st.name = na;
return st;
}
//GET api/studentapi/getstud
[HttpGet]
public List<student> getstud()
{
List<student> lst = new List<student>();
student st = new student();
st.name = "manlai";
st.id = 5;
lst.Add(st);
return lst;
}
}
}
我只想要getdetails结果,或者如果我要将我的方法数据类型作为类并且要通过get方法传递参数怎么做,该怎么做
答案 0 :(得分:0)
进行如下所示的getdetails路由,因为它与get冲突
[HttpGet("getdetails")]
public student getdetails(int id, string na)
{
student st = new student();
st.id = id;
st.name = na;
return st;
}
您可以使用querystring / studentapi / getdetails?id = 1&na = test
呼叫类似这样的路由