现如今任何成熟的开发框架都有它自己的路由模块,所以想上手一个框架语言就先要了解它的路由是如何使用的(包括如何在路由中向指定的方法体输入要指定的参数),要是搞不清楚这些东西要玩也不好玩了。
下面记录一下 .Net Code 的 webApi 的默认路由规则。
简单的 GET 路由
using System; using System.Collections.Generic; using System.Linq; using System.Threading.Tasks; using Microsoft.AspNetCore.Mvc; using NetCode.Models.User; namespace NetCode.Controllers.Users { /// <summary> /// 如果规则是 [Route("api/[controller]")] /// 那么请求的路径则是: /api/MobileAuth /// /// 如果规则是 [Route("api/Users/[controller]")] /// 那么请求的路径则是: /api/Users/MobileAuth /// </summary> [Route("api/Users/[controller]")] public class MobileAuthController: Controller { /// <summary> /// 不带参数值的情况 /// /api/Users/MobileAuth /// </summary> /// <returns> /// { // "id": 0, // "roleId": 0, // "roleName": null, // "roleEnName": null, // "mobile": 0, // "nickName": null, // "createTime": "0001-01-01T00:00:00", // "isExists": false // } /// </returns> [HttpGet] public JsonResult Handler() { UserInfoModel uim = new UserInfoModel(); return Json(uim); } /// <summary> /// 带参数值的情况,就目前的练习发现而言, /// GET 方式只能带一个参数值,之余多个参数值的情况没有调试出来 /// /api/Users/MobileAuth/111 /// </summary> /// <param name="id"></param> /// <returns> /// { // "id": 111, // "roleId": 0, // "roleName": null, // "roleEnName": null, // "mobile": 0, // "nickName": null, // "createTime": "0001-01-01T00:00:00", // "isExists": false // } /// </returns> [HttpGet("{id}")] public JsonResult Handler(int id) { UserInfoModel uim = new UserInfoModel(); uim.Id = id; return Json(uim); } /// <summary> /// 接收多个参数的 GET 请求 /// /api/Users/MobileAuth?request=hello&name=pkcms /// </summary> /// <param name="request"></param> /// <param name="name"></param> /// <returns> /// { // "request": "hello", // "name": "pkcms" // } /// </returns> [HttpGet] public dynamic Handler(string request, string name) { return new { request, name }; } } }
转载请注明:隨習筆記 » .Net Core 笔记:webapi 路由