C# 描述:用于JSON返回的HTTP 404
我对c#和asp.net编程有点陌生,我只想为我的android应用程序构建一个rest api来登录和注册。但是我在登录(登录)时遇到了一个问题。C# 描述:用于JSON返回的HTTP 404,c#,json,asp.net-mvc,rest,C#,Json,Asp.net Mvc,Rest,我对c#和asp.net编程有点陌生,我只想为我的android应用程序构建一个rest api来登录和注册。但是我在登录(登录)时遇到了一个问题。 问题是我只是在下面写了这些代码: namespace CPanel.Controllers { public class DashboardController : Controller { // GET: Dashboard public ActionResult CreateUser()
问题是我只是在下面写了这些代码:
namespace CPanel.Controllers
{
public class DashboardController : Controller
{
// GET: Dashboard
public ActionResult CreateUser()
{
return View();
}
[HttpPost]
public ActionResult CreateUser(string username,string password)
{
CPanel.Models.CPanelEntities1 db = new Models.CPanelEntities1();
db.USP_AddUSer(username, password);
return View();
}
[HttpPost]
public ActionResult login(string username,string password)
{
CPanel.Models.CPanelEntities1 db = new Models.CPanelEntities1();
try
{
var user = db.USP_Authenticate(username, password).First();
return Json(new { UserId = user.UserId,Username=user.Username,IsAdmin=user.IsAdmin,Message="ok"});
}catch(Exception)
{
return Json(new { message = "error" });
}
}
}
}
第一部分(CreateUser)工作得很好。但第二部分(登录)仅适用于“邮递员”chrome应用程序。我在“邮递员”上发了一个请求- localhost/dashboard/login?username=php&password=php 我看到一个json: { “用户ID”:29, “用户名”:“php”, “IsAdmin”:错, “消息”:“确定” } 在localhost和wwwroot(iis)中,不可能出现这样的错误:
“/”应用程序中出现服务器错误。 找不到资源 描述:HTTP404。您正在寻找的资源(或其 依赖项)可能已被删除、名称已更改或 暂时不可用。请查看下面的URL并进行修改 确保它拼写正确 请求的URL:/仪表板/登录 版本信息:Microsoft.NET Framework版本:4.0.30319; ASP.NET版本:4.6.1586.0
当您输入
http://localhost/dashboard/login?username=php&password=php
url到web浏览器它发出GET请求,但是您的控制器只接受POST请求
还有一件事,据我所知,您需要一个web api,但您的示例是一个标准的ASP.NET MVC控制器。您可能需要查看以下教程:当您输入
http://localhost/dashboard/login?username=php&password=php
url到web浏览器它发出GET请求,但是您的控制器只接受POST请求
还有一件事,据我所知,您需要一个web api,但您的示例是一个标准的ASP.NET MVC控制器。您可能想看一下以下教程:您能澄清一下“在本地主机和wwwroot(iis)中没有机会”是什么意思吗?您是否尝试从web浏览器访问url,但未成功?他找不到您指定的url。您确定要在仪表板之前使用斜杠吗?您是从根文件夹开始的吗?我认为url没有问题,因为我在“Postman”中传递了url,正如我所说,并获得了我想要的json。@botond.botos是的,我在web浏览器中键入了url,但出现了错误。相同的url在“Postman”中工作。@PedramHassas,当您向web浏览器输入url时,它会发出GET请求,但您的控制器需要POST。您能否澄清一下“在localhost和wwwroot(iis)中没有机会”是什么意思?您是否尝试从web浏览器访问url,但未成功?他找不到您指定的url。您确定要在仪表板之前使用斜杠吗?您是从根文件夹开始的吗?我认为url没有问题,因为我在“Postman”中传递了url,正如我所说,并获得了我想要的json。@botond.botos是的,我在web浏览器中键入了url,但出现了错误。相同的url在“Postman”中工作。@PedramHassas,当您向web浏览器输入url时,它会发出GET请求,但您的控制器需要POST。