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/bash

echo "程序名:$0"
echo "参数1:$1"

$sh test.sh 1111

输出结果为:

程序名: test.sh

参数1:1111

参考技术A 兄弟, 你的事公司的问题的话, 我可以帮到你这个问题, 你在百度私信我把,你这个问题很有意思的, 希望可以问你解决!追问

不怎么会用啊,我感觉应该很简单的吧。你能直接给我说下吗?

追答

兄弟, 你不会再百度私信我啊?

以上是关于apiroutes.post怎么获取参数的主要内容,如果未能解决你的问题,请参考以下文章

node 怎么获取get的参数

java 通过反射怎么获取方法中参数值

mybatis 怎么获取多个参数

java中请求参数action怎么获取

怎么在django中获取URL上的参数

java怎么获取url上的参数