Loading... ### ControllerBase 类 Web API 包含一个或多个派生自 ControllerBase 的控制器类。 Web API 项目模板提供了一个入门版控制器 ``` [ApiController] [Route("[controller]")] public class WeatherForecastController : ControllerBase ``` | 特性 | 说明| |--|--| |[Route]| 指定控制器或操作的 URL 模式。 |[Bind] |指定要包含的前缀和属性,以进行模型绑定。 |[HttpGet] |标识支持 HTTP GET 操作谓词的操作。 |[Consumes]| 指定某个操作接受的数据类型。 |[Produces]| 指定某个操作返回的数据类型。 #### 接收指定的xml(接受微信的xml) 困扰我一天的问题解决了。起因是最近在搞微信公众号的开发,认证啥的都欧克,就接受微信的消息获取不到,原因是微信发送的消息到指定的url,格式是xml,但我这边用的是net5,微信开发官网上面是php的教程,找了好长时间,gitee上面也是老的formwork版本的,比较新的话就有一个写了一个消息中间建的来处理,还是学的浅,我想了好长时间,他发送得消息一定是在request里面,fromwork里面一个 inputstrem的方法,我通过request.body来获取里面的文件流,想把文件流转化在处理,结过也是不行的 最后发现官网有这个方法,总结分享(公众号net分分享) 就是这个 [Consumes("application/xml")] 这个属性 ```csharp [HttpPost] [AllowAnonymous] [Consumes("application/xml")] public async Task<dynamic> List2( CustomsInput input) { return input; } ``` ![在这里插入图片描述](https://img-blog.csdnimg.cn/c045ab4d091e4738bb660d9c4b0a9c66.png?x-oss-process=image/watermark,type_ZHJvaWRzYW5zZmFsbGJhY2s,shadow_50,text_Q1NETiBA6L-35oGL6Ieq55WZ5Zyw,size_20,color_FFFFFF,t_70,g_se,x_16) ### ApiController 属性 绑定源特性定义可找到操作参数值的位置。 存在以下绑定源特性: ### 绑定源参数推理 |特性| 绑定源| |--|--| |[FromBody] |请求正文 |[FromForm] |请求正文中的表单数据 |[FromHeader] |请求标头 |[FromQuery] |请求查询字符串参数 |[FromRoute] |当前请求中的路由数据 |[FromServices] |作为操作参数插入的请求服务 #### FromRoute的使用 ``` [Route("{app}/message")] [AllowAnonymous] //允许匿名访问 public async Task<dynamic> List3([FromRoute(Name = "app")] string app) { return app; } ``` ![](https://img-blog.csdnimg.cn/84339546546f4b36b772317e0e15bb41.png?x-oss-process=image/watermark,type_ZHJvaWRzYW5zZmFsbGJhY2s,shadow_50,text_Q1NETiBA6L-35oGL6Ieq55WZ5Zyw,size_20,color_FFFFFF,t_70,g_se,x_16) ![](https://img-blog.csdnimg.cn/071198167f9444e49ceb2516358963e4.png?x-oss-process=image/watermark,type_ZHJvaWRzYW5zZmFsbGJhY2s,shadow_50,text_Q1NETiBA6L-35oGL6Ieq55WZ5Zyw,size_20,color_FFFFFF,t_70,g_se,x_16) ![我的公众号](https://img-blog.csdnimg.cn/20210517111144223.png) 最后修改:2023 年 09 月 25 日 © 允许规范转载 打赏 赞赏作者 支付宝微信 赞 如果觉得我的文章对你有用,请随意赞赏