2018-07-10  792 views 2

ASP.NET WebAPI 开发小程序(列表页)开发之获取列表页数据WebAPI编写实例(四)

ASP.NET API 开发小程序(列表页)开发之列表布局实例(三)中已经讲如何开发一个小程序文章列表页的布局(简单),那这一篇主要针对列表页数据源API如何编写进行讲解

本系列教程的结构如下:

 1 )小程序基础知识(常用且浅显)

2)小程序基础布局知识

3)小程序列表页布局实例

 4)ASP.NET WebAPI 开发小程序(列表页)开发之获取列表页数据WebAPI编写实例

5)小程序请求ASP.NET WebAPI数据并在前端实现数据绑定实例

6)小程序数据提交Post的使用

首先我们要定义一套我们自己的API请求规范(返回类),通常有两种请求 

A)获取数据的返回类型

B)提交更新、插入、删除数据的返回类型

定义的数据结构分别如下:

/// <summary>
/// 默认请求返回对象
/// </summary>
/// <typeparam name="T"></typeparam>
public class BaseRequestResponse<T>
{
    public int Code { get; set; } = ResultCode.NormalCode;
    public string Message { get; set; }
    public T Result { get; set; }
}
/// <summary>
/// 更新、删除、新增反馈状态类
/// </summary>
public class BaseUpdateResponse
{
    /// <summary>
    /// 响应状态
    /// </summary>
    public int Code { get; set; } = ResultCode.NormalCode;
    /// <summary>
    /// 受影响行数
    /// </summary>
    public int Count { get; set; }
    /// <summary>
    /// 返回消息
    /// </summary>
    public string Message { get; set; }
}

同时我们需要定义一个用于存储返回类型常量的类,ResultCode类:

public class ResultCode
{
    /// <summary>
    /// 正常code
    /// </summary>
    public const int NormalCode = 0;

    /// <summary>
    /// 未传入片键或片键非法
    /// </summary>
    public const int NeedsKeyParameter = 10001;
    /// <summary>
    /// 相关数据已经存在
    /// </summary>
    public const int IsExistsValue = 10002;

    /// <summary>
    /// 相关数据不存在
    /// </summary>
    public const int NotExistsValue = 10003;

    /// <summary>
    /// 暂不支持此操作
    /// </summary>
    public const int NotSupported = 10004;
}

我们还需要针对返回的列表创建一个对应的视图数据结构,用于传输返回的列表数据。

ArticleListViewModel:

/// <summary>
/// 列表ViewModel数据类
/// </summary>
public class ArticleListViewModel
{
    /// <summary>
    /// 文章ID
    /// </summary>
    public long Id { get; set; }
    /// <summary>
    /// 文章标题
    /// </summary>
    public string Title { get; set; }
    /// <summary>
    /// 阅读量
    /// </summary>
    public int ReadNums { get; set; }
}

现在我们创建一个测试的API 控制器,用于返回列表数据:

ListController:

[RoutePrefix("Article")]
public class ListController : ApiController
{
    /// <summary>
    /// 获取文章列表
    /// </summary>
    /// <returns></returns>
    [Route("GetArticleList")]
    public BaseRequestResponse<List<ArticleListViewModel>> Get()
    {
        //TODO 调用业务层获取数据库数据
        //此处直接手动写一些数据返回了
        List<ArticleListViewModel> list = new List<ArticleListViewModel> {
            new ArticleListViewModel {
                Id=1,
                Title="文章标题111111111111",
                ReadNums=2979
            },
            new ArticleListViewModel {
                Id=2,
                Title="文章标题2222222222222",
                ReadNums=8888
            },
            new ArticleListViewModel {
                Id=3,
                Title="文章标题33333333333333",
                ReadNums=1791
            }
        };
        BaseRequestResponse<List<ArticleListViewModel>> response
          = new BaseRequestResponse<List<ArticleListViewModel>> {
              Code=ResultCode.NormalCode,
              Result=list,
              Message="获取成功"
        };
        return response;
    }
}

API编写完成后,使用Postman请求测试如下,已经返回了我们需要的数据:

文中代码中获取数据部分并没有写,这不属于本次教程的范畴,你可以自由编写业务层返回需要的数据即可,如果有问题可以留言。

以上只是简单的ASP.NET API返回需要的列表Json数据案例,并没有实现数据库获取操作

系列教程未完,待续。。。

 

 

 

2 条留言  访客:0 条  博主:0 条   引用: 2 条

来自外部的引用: 2 条

  • ASP.NET API 开发小程序(列表页)开发之列表布局实例(三) | 落雨信息
  • ASP.NET WebAPI 开发小程序(列表页)开发实例之如何进行布局(二) | 落雨信息

给我留言

:?: :razz: :sad: :evil: :!: :smile: :oops: :grin: :eek: :shock: :???: :cool: :lol: :mad: :twisted: :roll: :wink: :idea: :arrow: :neutral: :cry: :mrgreen: