我正在学习.NET Web Api。
所以这是默认的GET方法
// GET: api/UserProfiles/5
[ResponseType(typeof(UserProfile))]
public IHttpActionResult GetUserProfile(int id)
{
UserProfile userProfile = db.UserProfiles.Find(id);
if (userProfile == null)
{
return NotFound();
}
return Ok(userProfile);
}
这是我的模特:
public class User
{
public int Id { get; set; }
public string Name { get; set; }
public int Phone { get; set; }
}
如何通过qazxswpoi而不是Name
进行搜索。根据我的理解,我需要将ID
改为GetUserProfile(int id)
,而在GetUserProfile(string name)
,我需要改变
WebApiConfig.cs
至
config.Routes.MapHttpRoute(
name: "DefaultApi",
routeTemplate: "api/{controller}/{id}",
defaults: new { id = RouteParameter.Optional }
);
但它不起作用。关于如何做的任何提示?
不,你不应该改变路线。只需你仍然使用 config.Routes.MapHttpRoute(
name: "DefaultApi",
routeTemplate: "api/{controller}/{name}",
defaults: new { name = RouteParameter.Optional }
);
,请求将是GetUserProfile(string name)