【OF框架】定义框架标准WebApi,按照规范返回状态信息及数据信息
准备
了解框架基本应用,已经完成Controller创建。
一、定义框架标准WebApi
一个标准的WebApi,包含预定义的入参和回参类型

入参为CallParams,需要增加FromBody声明,代码如下:
public override ActionResult<CallResult> Query()
{
var list = _IEmployeeService.Query(Request.Params("DepartmentID"), this.ThisPageInfo);
return CallResult.Create(list);
} public ActionResult<CallResult> DisableOrEnabled([FromBody]CallParams param)
{
string id = param["Id"];
string strStatus = param["status"]; int status = (!string.IsNullOrEmpty(strStatus) && Convert.ToBoolean(strStatus)) ? : ; if (_IEmployeeService.DisableOrEnabled(id, status) <= )
return CallResult.Create(CallResultCode.NoChanged, "操作失败"); return CallResult.Success;
}
入参也可以是实体类型,不需要添加FromBody声明,代码如下:
public override ActionResult<CallResult> Save(sys_employee entity)
{
if (_IEmployeeService.Save(entity) <= )
return CallResult.Create(CallResultCode.NoChanged, "保存失败"); return CallResult.Success;
}
二、入参CallParams对象介绍
CallParams是一个继承Dictionary<string, object>的对象,方便取出参数,重载了索引取值方法,直接返回字符串。
public class CallParams : Dictionary<string, object>
{
public new string this[string key]
{
get
{
if (base.TryGetValue(key, out object item))
return Convert.ToString(item);
return string.Empty;
}
}
}
三、回参CallResult多种返回写法
//返回成功
return CallResult.Success;
//返回状态
return CallResult.Create(CallResultCode.NoChanged);
//返回状态,备注
return CallResult.Create(CallResultCode.NoChanged, "操作失败");
//返回数据
return CallResult.Create(list);
//返回状态,备注,数据
return CallResult.Create(CallResultCode.Success, "操作成功", list);
【OF框架】定义框架标准WebApi,按照规范返回状态信息及数据信息的更多相关文章
- 【开源】OSharp3.0框架解说系列(6.2):操作日志与数据日志
OSharp是什么? OSharp是个快速开发框架,但不是一个大而全的包罗万象的框架,严格的说,OSharp中什么都没有实现.与其他大而全的框架最大的不同点,就是OSharp只做抽象封装,不做实现.依 ...
- 利用jQuery扩展接口为jQuery框架定义了两个自定义函数,然后调用这两个函数
<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN" "http://www.w3.org/ ...
- .Net框架与框架类库-转
http://blog.csdn.net/rrrfff/article/details/6686493 .NET Framework 具有两个主要组件:公共语言运行库和 .NET Framework类 ...
- [ SSH框架 ] Hibernate框架学习之二
一.Hibernate持久化类的编写规范 1.什么是持久化类 Hibernate是持久层的ORM影射框架,专注于数据的持久化工作.所谓持久化,就是将内存中的数据永久存储到关系型数据库中.那么知道了什么 ...
- web 框架的本质及自定义web框架 模板渲染jinja2 mvc 和 mtv框架 Django框架的下载安装 基于Django实现的一个简单示例
Django基础一之web框架的本质 本节目录 一 web框架的本质及自定义web框架 二 模板渲染JinJa2 三 MVC和MTV框架 四 Django的下载安装 五 基于Django实现的一个简单 ...
- Django框架----Web框架本质
Web框架本质 我们可以这样理解:所有的Web应用本质上就是一个socket服务端,而用户的浏览器就是一个socket客户端. 这样我们就可以自己实现Web框架了. 半成品自定义web框架 impor ...
- 框架----Web框架本质
一.Web框架本质 众所周知,对于所有的Web应用,本质上其实就是一个socket服务端,用户的浏览器其实就是一个socket客户端. #!/usr/bin/env python #coding:ut ...
- [ SSH框架 ] Hibernate框架学习之三
一.表关系的分析 Hibernate框架实现了ORM的思想,将关系数据库中表的数据映射成对象,使开发人员把对数据库的操作转化为对对象的操作,Hibernate的关联关系映射主要包括多表的映射配置.数据 ...
- Android学习之——自己搭建Http框架(2)——框架扩展
· 本文主要解说的是Json指定转化成对象返回.下载进度更新,随时取消Request请求 一.Json指定转化成对象返回 上篇文章主要讲基础的框架搭建起来了,这次须要做一些些的扩展,这里Json转化用 ...
随机推荐
- 【pip升级导致错误】 多个pip导致明明已经安装了包但是报no module错误
原来一直用apt install 默认安装的pip 8.01版本,今天因为一些原因,将pip升级到了19.01.升级后就导致了错误. 直接pip installl --upgrade pip,发现报权 ...
- 【Leetcode_easy】1071. Greatest Common Divisor of Strings
problem 1071. Greatest Common Divisor of Strings solution class Solution { public: string gcdOfStrin ...
- 海思NB-IOT模组在平台上注册
1. 添加设备,网页测试平台 https://develop.ct10649.com:8093/#/applications/1_lq7clNExjnGvPvGMG8w7_oYn4a/products ...
- AI - H2O - 第一个示例
1 - Iris数据集 Iris数据集是常用的机器学习分类实验数据集,特点是数据量很小,可以快速学习. 数据集包含150个数据集,分为3类,每类50个数据,每个数据包含4个属性. Sepal.Leng ...
- 解释张量及TF的一些API
张量的定义 张量(Tensor)理论是数学的一个分支学科,在力学中有重要应用.张量这一术语起源于力学,它最初是用来表示弹性介质中各点应力状态的,后来张量理论发展成为力学和物理学的一个有力的数学工具.张 ...
- Linux习题1
1. GUN的含义是: GNU's Not UNIX . 2. Linux一般有3个主要部分:内核.命令解释层.实用工具. 3.POSIX是可携式操作系统接口的缩写,重点在规范核心与应用 ...
- [计算机视觉][ARM-Linux开发]OpenCV 3.1下载 ippicv_linux_20151201失败
安装OpenCV 3.1的过程中要下载ippicv_linux_20151201,由于网络的原因,这个文件经常会下载失败. 解决的办法是手动下载: 先下载 OpenCV 3.1 Download MD ...
- Java并发处理锁 Lock
在上一篇文章中我们讲到了如何使用关键字synchronized来实现同步访问.本文我们继续来探讨这个问题,从Java 5之后,在 java.util.concurrent.locks 包下提供了另外一 ...
- 好消息!iconfont+开始支持彩色图标
想必关注iconfont的同学都知道,iconfont最近做出了一次重大升级,升级成为iconfont+了,而这次更新,iconfont+居然开始支持彩色图标,这意味着我们能够使用更具有特色更形象的全 ...
- 微信小程序之一:动态添加view(view包含picker,input)
<view wx:for="{{array}}" wx:key="this" class="borderContainer"> ...