操作 ASP.NET Web API 的实例教程


本文摘自PHP中文网,作者零下一度,侵删。


概述

REST(Representational State Transfer表述性状态转移)而产生的REST API的讨论越来越多,微软在ASP.NET中也添加了Web API的功能。

我们刚好看看Web API的使用,且看目前的版本有没有解决掉这个问题。

项目建立

在安装了Visual Studio 2012后,我们依次点击新建项目->已安装模板->Web->ASP.NET MVC 4 Web Application新建一个工程项目。

项目模板选择Web API。

在Model里面我们还是添加之前文章里面使用的User类。

复制代码
1 namespace WebAPI.Models
2 {
3 public class Users
4 {
5 public int UserID { get; set; }
6
7 public string UserName { get; set; }
8
9 public string UserEmail { get; set; }
10 }
11 }
复制代码

将自动生成的ValueController修改成UsersController。

GET数据

使用HTTP的get方法请求获取数据,整个Web API的请求处理基于MVC框架。

代码如下。

复制代码
1 using System;
2 using System.Collections.Generic;
3 using System.Linq;
4 using System.Net;
5 using System.Net.Http;
6 using System.Web.Http;
7 using WebAPI.Models;
8
9 namespace WebAPI.Controllers
10 {
11 public class UsersController : ApiController
12 {
13 /// <summary>
14 /// User Data List
15 /// </summary>
16 private readonly List<Users> _userList = new List<Users>
17 {
18 new Users {UserID = 1, UserName = "Superman", UserEmail = "Superman@cnblogs.com"},
19 new Users {UserID = 2, UserName = "Spiderman", UserEmail = "Spiderman@cnblogs.com"},
20 new Users {UserID = 3, UserName = "Batman", UserEmail = "Batman@cnblogs.com"}
21 };
22
23 // GET api/Users
24 public IEnumerable<Users> Get()
25 {
26 return _userList;
27 }
28
29 // GET api/Users/5
30 public Users GetUserByID(int id)
31 {
32 var user = _userList.FirstOrDefault(users => users.UserID == id);
33 if (user == null)
34 {
35 throw new HttpResponseException(HttpStatusCode.NotFound);
36 }
37 return user;
38 }
39
40 //GET api/Users/?username=xx
41 public IEnumerable<Users> GetUserByName(string userName)
42 {
43 return _userList.Where(p => string.Equals(p.UserName, userName, StringComparison.OrdinalIgnoreCase));
44 }
45 }
46 }
复制代码

构造了一个user list,实现了三个方法,我们下面来做请求。

使用不同的浏览器请求的过程中会发现返回的格式不一样。

先使用Chrome请求,我们发现HTTP Header里面的Content-Type是xml类型。

阅读剩余部分

相关阅读 >>

解决 asp.net core mysql varchar 字符串截取实例教程

asp.net core实例详解二(环境设置)

理解asp.net中多层架构

详解asp.net中des加密与解密md5

理解asp.net中webform的生命周期_实用技巧

asp.net利用反射实现给model类赋值的示例代码分析

asp.net core中间件设置教程(7)_实用技巧

asp.net面试题大全

asp.net的简单定义与介绍

asp.net core razor页面路由的详细介绍

更多相关阅读请进入《asp.net》频道 >>




打赏

取消

感谢您的支持,我会继续努力的!

扫码支持
扫码打赏,您说多少就多少

打开支付宝扫一扫,即可进行扫码打赏哦

分享从这里开始,精彩与您同在

评论

管理员已关闭评论功能...