设置WebAPI的路由与返回数据类型信息
1、修改API路由
在 项目中有个App_Start文件夹中的WebApiConfig.cs重新设定访问路由

public static class WebApiConfig { public static void Register(HttpConfiguration config) { //原来的默认路由 //config.Routes.MapHttpRoute( // name: "DefaultApi", // routeTemplate: "api/{controller}/{id}", // defaults: new { id = RouteParameter.Optional } //); //修改后的路由 config.Routes.MapHttpRoute( name: "ActionApi", routeTemplate: "api/{controller}/{action}/{id}", defaults: new { id = RouteParameter.Optional } ); } }
在项目中Global.asax内引用WebApiConfig中设定好的路由

public class WebApiApplication : System.Web.HttpApplication { protected void Application_Start() { AreaRegistration.RegisterAllAreas(); WebApiConfig.Register(GlobalConfiguration.Configuration); FilterConfig.RegisterGlobalFilters(GlobalFilters.Filters); RouteConfig.RegisterRoutes(RouteTable.Routes); BundleConfig.RegisterBundles(BundleTable.Bundles); } }
创建控制项目中的Controllers文件夹中新建控制器
在新建好的控制器中定义方法

/// <summary> /// 用户登陆 /// </summary> /// <param name="postinfo"></param> /// <returns></returns> [HttpPost] public HttpResponseMessage UserLogin([FromBody]string postinfo) { //方法内的代码 XXXXXXXXX //返回json信息 下面会有定义返回形式,默认为XML方式返回 return ReturnHttpMessage.HttpMessage(JsonConvert.SerializeObject(user)); }
PS:必须要在方法头部定义好[HttpPost]或者[HttpGet]、[HttpPut]、[HttpDELETE]的请求方式
设定好路由后访问地址改变为:http://xxx(域名)/api/XXX(控制器)/XXXX(定义的方法)
http://localhost:8035/api/Login/UserLogin
2、修改设定的返回信息方式
在控制器文件(Controllers)中添加个ReturnHttpMessage类

/// <summary> /// 返回UTF8格式的json /// </summary> /// <param name="jsoninfo">json字符串</param> /// <returns></returns> public static HttpResponseMessage HttpMessage(string jsoninfo) { return new HttpResponseMessage(HttpStatusCode.OK) { Content = new StringContent(jsoninfo, Encoding.UTF8, "text/json") }; }
【推荐】国内首个AI IDE,深度理解中文开发场景,立即下载体验Trae
【推荐】编程新体验,更懂你的AI,立即体验豆包MarsCode编程助手
【推荐】抖音旗下AI助手豆包,你的智能百科全书,全免费不限次数
【推荐】轻量又高性能的 SSH 工具 IShell:AI 加持,快人一步
· 从 HTTP 原因短语缺失研究 HTTP/2 和 HTTP/3 的设计差异
· AI与.NET技术实操系列:向量存储与相似性搜索在 .NET 中的实现
· 基于Microsoft.Extensions.AI核心库实现RAG应用
· Linux系列:如何用heaptrack跟踪.NET程序的非托管内存泄露
· 开发者必知的日志记录最佳实践
· TypeScript + Deepseek 打造卜卦网站:技术与玄学的结合
· Manus的开源复刻OpenManus初探
· AI 智能体引爆开源社区「GitHub 热点速览」
· C#/.NET/.NET Core技术前沿周刊 | 第 29 期(2025年3.1-3.9)
· 从HTTP原因短语缺失研究HTTP/2和HTTP/3的设计差异