【发布时间】:2017-04-30 10:55:36
【问题描述】:
我真的很难在 url 中发出基本的帖子请求以支持 web api 教程。
我想在浏览器中做这样的事情:http://localhost:59445/api/group/post/?newvalue=test 并让帖子注册。但是我似乎无法正确地形成请求。这样做的正确方法是什么?
我收到的错误是:
{"Message":"请求无效。","MessageDetail":"参数字典包含方法'System.String Get的不可空类型'System.Int32'的参数'id'的空条目(Int32)' in '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;
}
【问题讨论】:
-
你有另一种方法,名字post和动词为
httpget? -
只有其他动词是
// GET: api/Group [Route("api/Group/Get")] [HttpGet] public Array Get()
标签: c# asp.net-web-api