ASP.NET Core 1.0: API的输入参数
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
ASP.NET Core 1.0: API的输入参数的更多相关文章
- asp.net core 2.0 api ajax跨域问题
API配置: services.AddCors(options => { options.AddPolicy("any", builder => { builder.W ...
- ASP.NET Core 2.0 多应用实现Cookie共享
前言 .NET Core 2.0 发布之后,在Authentication中间件部分,相关API有不少改动(官方文档),本文主要讲的就是实现应用Cookie共享,对Cookie中间件使用不了解的可以去 ...
- 从头编写 asp.net core 2.0 web api 基础框架 (4) EF配置
第1部分:http://www.cnblogs.com/cgzl/p/7637250.html 第2部分:http://www.cnblogs.com/cgzl/p/7640077.html 第3部分 ...
- 【转载】从头编写 asp.net core 2.0 web api 基础框架 (4) EF配置
Github源码地址:https://github.com/solenovex/Building-asp.net-core-2-web-api-starter-template-from-scratc ...
- 用VSCode开发一个asp.net core2.0+angular5项目(5): Angular5+asp.net core 2.0 web api文件上传
第一部分: http://www.cnblogs.com/cgzl/p/8478993.html 第二部分: http://www.cnblogs.com/cgzl/p/8481825.html 第三 ...
- ASP.NET Core 3.0 WebApi中使用Swagger生成API文档简介
参考地址,官网:https://docs.microsoft.com/zh-cn/aspnet/core/tutorials/getting-started-with-swashbuckle?view ...
- 从 MVC 到使用 ASP.NET Core 6.0 的最小 API
从 MVC 到使用 ASP.NET Core 6.0 的最小 API https://benfoster.io/blog/mvc-to-minimal-apis-aspnet-6/ 2007 年,随着 ...
- ASP.NET CORE 1.0 MVC API 文档用 SWASHBUCKLE SWAGGER实现
from:https://damienbod.com/2015/12/13/asp-net-5-mvc-6-api-documentation-using-swagger/ 代码生成工具: https ...
- ASP.NET Core 1.0开发Web API程序
.NET Core版本:1.0.0-rc2Visual Studio版本:Microsoft Visual Studio Community 2015 Update 2开发及运行平台:Windows ...
随机推荐
- 浏览器渗透框架BeEF使用笔记(二)
0x03 常用模块 1-信息收集 可以收集到例如 浏览器名称版本 浏览器用户版本 插件(包括Java,ActiveX,VBS,Flash……) 窗口大小 1)details面板收集 (2)插件收集信息 ...
- SpringBoot系列:Spring Boot集成Spring Cache,使用RedisCache
前面的章节,讲解了Spring Boot集成Spring Cache,Spring Cache已经完成了多种Cache的实现,包括EhCache.RedisCache.ConcurrentMapCac ...
- go-关键字-变量
var 声明变量 const 常量的关键字, 常量不能出现只声明不赋值的情况. 名字首字母为大写的程序实体可以被任何代码包中的代码访问到. 名字首字母为小写的程序实体则只能被同一个代码包中的代 ...
- Java代码优化建议
总结日常Java开发常见优化策略,持续更新. 尽可能使用局部变量 调用方法时传递的参数以及在调用中创建的临时变量都保存在栈中,速度较快,其他变量,如静态变量.实例变量等,都在堆中创建,速度较慢.另外, ...
- Django框架简介与使用注意事项
一.Django框架简介 MVC框架和MTV框架 MVC框架 MVC,全名是Model View Controller,是软件工程中的一种软件架构模式,把软件系统分为三个基本部分:模型(Model). ...
- 【译】Source Maps浅析
Time:2019/10/27~2019/10/29 Link: 原文链接 译文开始: 对网站进行性能优化对一个最容易的方法就是把JS和CSS进行打包压缩.但是当你需要调试这些压缩文件中的代码的时候, ...
- XML利用接口显示并导入到数据库
//控制器代码 /// <summary> /// 页面 /// </summary> /// <returns></returns> public A ...
- The usage of Markdown---列表
目录 1. 序言 2. 有序列表 3. 多级有序列表 3. 无序列表 4. 多级无序列表 5. 列表中的转义字符 6. 无效化 7. 任务列表 更新时间:2019.09.14 1. 序言 其实我昨 ...
- Linux后台运行Jar方法
原文地址:http://blog.csdn.net/c1481118216 https://blog.csdn.net/c1481118216/article/details/53010963 在li ...
- python-nmap使用及案例
nmap概念及功能 概念 NMap,也就是Network Mapper,最早是Linux下的网络扫描和嗅探工具包. nmap是一个网络连接端扫描软件,用来扫描网上电脑开放的网络连接端.确定哪些服务运行 ...