ASP.NET Core 1.0: API的输入参数
来源:互联网 发布:淘宝可以卖药品吗 编辑:程序博客网 时间:2024/05/16 18:32
Web API是需要接受参数的,譬如,通常用于创建数据的POST method需要接受输入数据,而用于GET method也需要接受一些可选参数,譬如:为了性能起见,控制返回数据的数量是至关重要的。
首先来看输入参数的几种形式:
- /api1/{parameter1}/{parameter2}/…/{parametern}
- /api1&{parameter1}=xxx&{parameter2}=xxx&…&{parametern}=xxx
- /api1: 输入内容在Body中
有了以上理解,再来看ASP.NET Core 1.0如何实现。
- 针对第一种输入参数,实现方法是在对应的Controller中添加如下的属性
[Route("api/[controller]")]public class ValueController : Controller{ [HttpGet("{parameter1}\{parameter2}")] public IEnumerable<String> Get(String parameter1, String parameter2) { // Do the job! }...}
- 针对第二种输入参数(其实是可选参数),实现方法类似,只是不需要再HttpGet的属性中指定Route:
[Route("api/[controller]")]public class ValueController : Controller{ [HttpGet()] public IEnumerable<String> Get(Int32? parameter1 = null, String parameter2 = "") { // Do the job! }...}
- 针对第三种输入参数,实现方法是通过FromBody的属性:
[Route("api/[controller]")]public class ValueController : Controller{ [HttpPost] public IActionResult Post([FromBody]String cont) { // Do the job! }...}
既然提到了FromBody属性,那么索性介绍一下另外一个FromUri。以下示例来自于ASP.NET官方文档。
一个简单的FromUri使用场景:
public class GeoPoint{ public double Latitude { get; set; } public double Longitude { get; set; }}public ValuesController : ApiController{ public HttpResponseMessage Get([FromUri] GeoPoint location) { ... }}
是为之记。
Alva Chien
2016.6.24
2 0
- ASP.NET Core 1.0: API的输入参数
- 支持多个版本的ASP.NET Core Web API
- 在 Asp.net core 2.0 的Web Api 添加logging
- Web API with ASP.NET Core 1.0 MVC
- [译]ASP.NET Core 2.0 带初始参数的中间件
- [译]ASP.NET Core 2.0 带初始参数的中间件
- ASP.NET Core API 版本控制
- ASP.NET Core Web API 最小化项目
- ASP.NET Core: 全新的ASP.NET !
- ASP.NET Core: 全新的ASP.NET !
- ASP.NET下crystalreport参数输入的动态化
- ASP.Net Web API 的参数绑定[翻译]
- 初识ASP.NET Core 1.0
- 用Swashbuckle给ASP.NET Core的项目自动生成Swagger的API帮助文档
- 用JWT来保护我们的ASP.NET Core Web API
- 在ASP.NET Core Web API 项目里无法访问(wwwroot)下的文件
- ASP.NET Core的身份认证框架IdentityServer4(7)- 使用客户端证书控制API访问
- ASP.NET Core的身份认证框架IdentityServer4(7)- 使用客户端证书控制API访问
- git提交gerrit 流程笔记
- ADO.NET之多条件查询
- [Leetcode]2. Add Two Numbers
- 数字证书
- 记一次实验室局域网的ARP欺骗
- ASP.NET Core 1.0: API的输入参数
- freemarker常见语法大全
- Android 开发中的消息机制 Handler 机制
- SDN启蒙3:openVswitch(OVS)源代码分析之简介
- 二叉树深度和宽度
- Impala Kerberos Sentry Doas
- Javascript中ECMAScript数组相关方法操作
- UI细节点滴-UIScorllView和UITableView/UITextView拖动退出键盘方法
- 全缓存,行缓存,无缓存