apiroutes.post怎么获取参数
Posted
tags:
篇首语:本文由小常识网(cha138.com)小编为大家整理,主要介绍了apiroutes.post怎么获取参数相关的知识,希望对你有一定的参考价值。
参考技术A 1、Post 传参的问题一般使用Web serivce 、MVC等等方式做接口的时候,其传递参数就是拼接字符串。但是Web Api对于Post的参数传递却不一样,每次只能接受一个参数。
其实通过官方的Demo我们也可以看出参数的传递方式。
// POST api/values
public void Post([FromBody]string value)
单个参数的传递就可以参考官方的方法,但是如果有多个参数就不能在后面定义多个基本数据类型了。
多个参数的时候就需要做封装处理,比如封装成实体类或其他。在请求的时候参数可以使用json的形式传递给接口,这个json也不是随意定义的,其字段数据类型等等要和接受的实体类一致。
例如下面:
//请求接口所传递的json数据
"UserId":"48f3889","UserName":"超级管理员","Content":"撒大帝","Remark":"","IsOk":true
//接口的定义方式
[HttpPost]
public string CreateActionLog([FromBody]PostData data)
return "";
其中 PostData是一个自定义的实体类。
public class PostData
/// <summary>
/// 用户id
/// </summary>
public string UserId get; set;
/// <summary>
/// 用户姓名
/// </summary>
public string UserName get; set;
/// <summary>
/// 操作内容
/// </summary>
public string Content get; set;
/// <summary>
/// 操作备注信息
/// </summary>
public string Remark get; set;
/// <summary>
/// bool 类型
/// </summary>
public bool IsOk get; set;
接口方面就可以使用PostData对象的数据了。
2、同一个ApiController 出现多个get或者post等调用提示错误
这问题是因为默认的Web Api 中的路由是没有带Action的,所以调用的时候不知道是调用那个Action导致错误的。
自带默认路由
config.Routes.MapHttpRoute(
name: "DefaultApi",
routeTemplate: "api/controller/id",
defaults: new id = RouteParameter.Optional
);
从上面的默认路由很明显发现是没有带Action的
处理方法:
修改默认的路由
config.Routes.MapHttpRoute(
name: "DefaultApi",
routeTemplate: "api/controller/action/id",
defaults: new controller = "Home", action = "Index", id = RouteParameter.Optional
);
shell程序中怎么获取调用参数?
没写过shell,但是想写一个很简单的程序需要在程序里面获取调用shell脚本时候传递的参数,比如一个路径什么的。请问怎么在程序里面获取这个变量。比如sh test.sh 1111 要在程序拿到1111这个值
shell脚本里$0代表程序名,$1代表命令行传来的第一个位置参数,$2代表代表命令行传来的第二个位置参数,同理类推。
例如
#!/bin/bashecho "程序名:$0"
echo "参数1:$1"
$sh test.sh 1111
输出结果为:
程序名: test.sh
参数1:1111
参考技术A 兄弟, 你的事公司的问题的话, 我可以帮到你这个问题, 你在百度私信我把,你这个问题很有意思的, 希望可以问你解决!追问不怎么会用啊,我感觉应该很简单的吧。你能直接给我说下吗?
追答兄弟, 你不会再百度私信我啊?
以上是关于apiroutes.post怎么获取参数的主要内容,如果未能解决你的问题,请参考以下文章