如何创立网站,深圳华汇设计,丹阳杨文军,网页设计原则目录
Action方法的异步
Action方法参数
捕捉URL占位符
捕捉QueryString的值
JSON报文体
其他方式 Action方法的异步
Action方法既可以同步也可以异步。异步Action方法的名字一般不需要以Async结尾。Web API中Action方法的返回值如果是普通数据类型#xff0c;那么返回值…目录
Action方法的异步
Action方法参数
捕捉URL占位符
捕捉QueryString的值
JSON报文体
其他方式 Action方法的异步
Action方法既可以同步也可以异步。异步Action方法的名字一般不需要以Async结尾。Web API中Action方法的返回值如果是普通数据类型那么返回值就会默认被序列化为Json格式。Web API中的Action方法的返回值同样支持IActionResult类型不包含类型信息因此Swagger等无法推断出类型所以推荐用ActionResultT它支持类型转换从而用起来更简单
[HttpGet]
public ActionResultint GetId(long id)
{if (id 1){return 88;}else if (id 2){return 99;}else{return NotFound(id错误);}
}
Action方法参数
捕捉URL占位符
在[HttpGet]、[HttpPost]等中使用占位符比如{schoolName}捕捉路径中的内容从而供Action方法的参数使用。捕捉的值会被自动赋值给Action中同名的参数如果名字不一致可以用[FromRoute(Name名字)] /Person/GetStudent/school/MIT/class/2025[HttpGet(school/{ schoolName}/class/{ classNo})] 捕捉QueryString的值
使用[FromQuery]来获取QueryString中的值。如果名字一致只要为参数添加[FromQuery]即可而如果名字不一致[FromQuery(Name 名字)]。QueryString和Route可以混用。
[HttpGet(students/school/{schoolName}/class/{classNo})]
public Person GetStudent([FromRoute(Name schoolName)] string schoolName, [FromRoute(Name classNo)] long classNo)
{return new Person(classNo, schoolName, 18);
}
JSON报文体
Web API的开发模式下Json格式的请求体是主流。只要声明一个模型类和Json请求的格式一致即可。也是可以把从URL获取参数、从请求报文体获取数据等这些混合使用。 [HttpPost(classId/{classId})]public ActionResultlong AddNew(long classId, StudentModel s) 一定要设定请求头中的Content-Type为application/json而且数据必须是合法的json格式。
其他方式
Web API中很少用的方式 1、从Content-Type为multipart/form-data的请求中获取数据的[FromForm] 2、从请求报文头中获取值的[FromHeader]。