Web API 控制器的行为和操作方法的属性

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”)] 这个属性

 [HttpPost]
        [AllowAnonymous]
        [Consumes("application/xml")]
        public async Task<dynamic> List2( CustomsInput input)
        {
            return input;
        }

在这里插入图片描述

ApiController 属性

绑定源特性定义可找到操作参数值的位置。 存在以下绑定源特性:

绑定源参数推理

特性绑定源
[FromBody]请求正文
[FromForm]请求正文中的表单数据
[FromHeader]请求标头
[FromQuery]请求查询字符串参数
[FromRoute]当前请求中的路由数据
[FromServices]作为操作参数插入的请求服务
FromRoute的使用
        [Route("{app}/message")]
        [AllowAnonymous] //允许匿名访问
        public async Task<dynamic> List3([FromRoute(Name = "app")] string app)
        {
            return app;
        }        


我的公众号

  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值