以下内容针对
Axios
和.Net Core WebAPI
如果是.Net WebAPI
可参考这份文档
设定需知
.Net Core WebAPI
中,无论是get
、post
或其他类型的方法。简单类型的数据会默认从url
中获取,复杂类型的数据(实体类、列表等)默认从body
中获取。- 可以通过
[FromQuery]
、[FromBody]
、[FromForm]
等属性,强制从某个地方获取数据。但如果一个实体类被设定了[FromBody]
,则实体类中属性设定的其它[FromQuery]
之类的注解无效。 - 可以为实体类中的属性加上
[BindRequired]
注解,设定为必填,不能应用于方法参数。 - 可以为实体类中的属性加上
[BindNever]
注解,设定为不接受绑定,不能应用于方法参数。
RestFul
axios中针对RestFul有以下四种简化写法(方框内的表示非必填):
- axios#get(url[, config])
- axios#delete(url[, config])
- axios#put(url[, data[, config]])
- axios#post(url[, data[, config]])
get广泛用于查询,可通过url直接访问,无可替代
post和put基本一致,一般不使用put
delete在特殊场景下有使用
post中传递的数据放在data中
config的常用的配置如下:
{
headers: {'Content-Type': 'application/json'}, // 自定义请求头,一般无需配置或在全局配置
params: {// 放在url中的参数(post等方法也能配置)
ID: 12345
},
timeout: 1000,// 指定请求超时的毫秒数(0 表示无超时时间)
responseType: 'json', // 表示服务器响应的数据类型,默认json,可以是 'blob'(接收文件),'arraybuffer', 'document', 'json', 'text', 'stream'
}
数据查询-Get
Get查询,只需要注意使用[FromQuery]
即可,以下为具体使用。
简单参数
针对简单类型的参数,只需要前后端名称一致即可。即使参数个数对不上也能访问到(需要注意int等的默认值)。
axios.get("GetMoreNormal", {
params: {
strVal: 'demo',
intVal: 123
}
});
[HttpGet, Route("GetMoreNorma