C# 如何使用postman测试登录RESTAPI服务?
这是我的代码Rest服务代码:C# 如何使用postman测试登录RESTAPI服务?,c#,asp.net-mvc,asp.net-mvc-4,asp.net-web-api,json.net,C#,Asp.net Mvc,Asp.net Mvc 4,Asp.net Web Api,Json.net,这是我的代码Rest服务代码: public class UsersController : ApiController { private TradeFinancesDBEntities db = new TradeFinancesDBEntities(); // POST: api/Demo [System.Web.Http.HttpPost] [System.Web.Http.Route("api/Users/Login")]
public class UsersController : ApiController
{
private TradeFinancesDBEntities db = new TradeFinancesDBEntities();
// POST: api/Demo
[System.Web.Http.HttpPost]
[System.Web.Http.Route("api/Users/Login")]
public IHttpActionResult Login(Credential user)
{
if (!ModelState.IsValid)
{
return BadRequest(ModelState);
}
var log = db.tf_company_users.Where(x => x.Username == user.UserName && x.tf_password.Password_name == user.PassWord && x.tf_password.IsActive == "Y" && x.tf_company.Company_name == user.CompanyName).FirstOrDefault();
if (log != null)
{
return Ok(true);
}
return Ok(log);
}
这是我的模型课:
{
public class Credential
{
public string CompanyName { get; set; }
public string UserName { get; set; }
public string PassWord { get; set; }
}
}
这是我的路线图:
public class RouteConfig
{
public static void RegisterRoutes(RouteCollection routes)
{
routes.IgnoreRoute("{resource}.axd/{*pathInfo}");
routes.MapRoute(
name: "Default",
url: "{controller}/{action}/{id}",
defaults: new { controller = "Home", action = "Index", id = UrlParameter.Optional }
);
}
}
这是我的网站配置:
公共静态类WebApiConfig
{
公共静态无效寄存器(HttpConfiguration配置)
{
//Web API配置和服务
// Web API routes
config.MapHttpAttributeRoutes();
config.Routes.MapHttpRoute(
name: "DefaultApi",
routeTemplate: "api/{controller}/{id}",
defaults: new { id = RouteParameter.Optional }
);
config.Formatters.XmlFormatter.SupportedMediaTypes.Remove(
config.Formatters.XmlFormatter.SupportedMediaTypes.FirstOrDefault(t => t.MediaType == "application/xml"));
}
}
现在,当我试图在邮递员测试时,我发现404没有找到。我是不是遗漏了什么
404表示“找不到页面”。您的操作似乎不接受帖子。您有
[HttpPost]吗
属性在您的操作中?可能您没有发布到正确的URL,或者使用了错误的HTTP方法。请发布您的用户
控制器的缩短版本,显示所有使用的属性和登录
功能。是的..我知道..但我想问为什么我会得到这个?我错过了什么您的邮差屏幕截图您正在发布到/User/Login
,但为您的登录方法配置的路由似乎是/api/User/Login
。