java系统找不到指定文件怎么解决
312
2022-10-22
Web API接口设计经验总结
1、在接口定义中确定MVC的GET或者POST方式
例如在基类定义的查找对象接口如下所示。
/// 《summary》
/// 《/summary》
/// 《returns》存在则返回指定的对象,否则返回Null《/returns》
[HttpGet]
public virtual T FindByID(string id, string token)
/// 《summary》
/// 插入指定对象到数据库中
/// 《/summary》
/// 《param name=“info”》指定的对象《/param》
/// 《returns》执行操作是否成功。《/returns》
[HttpPost]
2、动态对象的接口定义
在一般的Web API接口里面,我们可能都会碰到很多简单类型的参数,但是又想让它们以POST方式提交数据,那么我们就可以有两种方法来处理,一种是定义一个类来放置这些参数,一种是采用动态的JObject参数,前者有很多不方便的地方,因为我们不可能为每个接口参数定义多一个实体类,这样可能会有很多难以管理的类定义。如下面是微信API的调用接口案例,我们也需要设置这样的处理规则。
接口调用请求说明
POST数据格式:json
那么我们采用JObject是这么样的呢,我们来看接口的定义和处理代码。JObject是Newtonsoft.Json.Linq命名空间下的一个对象。
/// 《summary》
/// 修改用户密码
/// 《/summary》
/// 《param name=“param”》包含userName和userPassword的复合对象《/param》
/// 《param name=“token”》用户访问令牌《/param》
/// 《returns》《/returns》
[HttpPost]
public CommonResult ModifyPassword(JObject param, string token)
{
//令牌检查,不通过则抛出异常
CheckResult checkResult = CheckToken(token);
{
string userName = obj.userName;
string userPassword = obj.userPassword;
bool success = BLLFactory《User》.Instance.ModifyPassword(userName, userPassword);
return new CommonResult(success);
}
else
{
}
}
dynamic obj = param;
这样我们就可以在调用的时候,动态POST对应的JSON对象给Web API接口,而不需要预先定义各种接口参数的类了。
/// 《summary》
/// 调用Web API接口,修改用户密码
/// 《/summary》
/// 《param name=“userName”》用户名称《/param》
/// 《param name=“userPassword”》修改的密码《/param》
/// 《returns》如果修改成功返回true,否则返回false《/returns》
public bool ModifyPassword(string userName, string userPassword)
{
var postData = new
{
userName = userName,
userPassword = userPassword
}.ToJson();
CommonResult result = JsonHelper《CommonResult》.ConvertJson(url, postData);
return (result != null) ? result.Success : false;
}
其中GetTokenUrl是根据token和API的地址等参数,构建一个完整的提交地址。我们在上面代码通过
var postData = new
{
userName = userName,
userPassword = userPassword
}.ToJson();
版权声明:本文内容由网络用户投稿,版权归原作者所有,本站不拥有其著作权,亦不承担相应法律责任。如果您发现本站中有涉嫌抄袭或描述失实的内容,请联系我们jiasou666@gmail.com 处理,核实后本网站将在24小时内删除侵权内容。
发表评论
暂时没有评论,来抢沙发吧~