C# 生成一个简单的WebAPI post请求
我真的很难在url中发出一个基本的post请求来支持WebAPI教程 我想在浏览器中执行类似操作:并让帖子注册。但是,我似乎无法正确地形成请求。正确的方法是什么 我收到的错误是: {“Message”:“请求无效。”,“MessageDetail”:“参数字典包含方法”System.String Get(Int32)的不可空类型“System.Int32”的参数“id”的空条目”'在'twin_groupapi.Controllers.GroupController'中。可选参数必须是引用类型、可为null的类型,或者声明为可选参数。“} 我的模型:C# 生成一个简单的WebAPI post请求,c#,asp.net-web-api,C#,Asp.net Web Api,我真的很难在url中发出一个基本的post请求来支持WebAPI教程 我想在浏览器中执行类似操作:并让帖子注册。但是,我似乎无法正确地形成请求。正确的方法是什么 我收到的错误是: {“Message”:“请求无效。”,“MessageDetail”:“参数字典包含方法”System.String Get(Int32)的不可空类型“System.Int32”的参数“id”的空条目”'在'twin_groupapi.Controllers.GroupController'中。可选参数必须是引用类型、
public class Group
{
public Int32 GroupID { get; set; }
public Int32 SchoolID { get; set; }
public string GroupName { get; set; }
}
路由:
public static void Register(HttpConfiguration config)
{
// Web API configuration and services
GlobalConfiguration.Configuration.IncludeErrorDetailPolicy = IncludeErrorDetailPolicy.Always;
// Web API routes
config.MapHttpAttributeRoutes();
config.Routes.MapHttpRoute(
name: "DefaultApi",
routeTemplate: "api/{controller}/{action}/{id}",
defaults: new { id = RouteParameter.Optional }
);
}
控制器:
//[Route("api/Group/Post")]
[HttpPost]
public void Post([FromUri] string NewValue)
{
string newstring = NewValue;
}
在浏览器中点击URL只会执行GET请求 您可以:
- 创建一个简单的
,其方法设置为
,并形成输入,以输入要发送的值(如POST
),或NewValue
- 编写一些JavaScript,使用您喜欢的框架创建AJAX POST请求,或者
- 使用诸如设置POST请求、调用它以及检查结果之类的工具
[HttpPost]
时,您正在发出GET请求。如果在浏览器中使用开发人员工具(在大多数现代浏览器中使用F12来激活它们),则可以看到这一点
看看
注意:参数名称的c#约定是大小写,第一个字母是通用的,而不是大写,例如
string newValue
您是否有另一个名为post、动词为httpget
的方法?只有另一个动词是//GET:api/Group[Route(“api/Group/GET”)][httpget]public Array GET()