WebApi学习笔记之二 响应HttpGet消息的API

本篇主要介绍WepApi响应Http method 中的Get方法:

  创建空的WebApi解决方案:

  在Model文件夹中添加Person类,内容如下:

public class Person
    {
        public string ID { get;set;}
        public string Name { get; set; }
        public string Sex { get; set; }
        public string Phone { get; set; }
        public string Addres { get; set; }
    }

    下面我们在Controller文件夹中创建一个空的WebApi控制器PeopleController,其内容如下:

    public class PeopleController : ApiController
    {
        Person [] people = new Person[]{
            new Person()
            {
                ID ="001",
                Name = "dongdong",
                Sex ="男",
                Phone ="123456789",
                Address ="河南南阳"
            },
            new Person()
            {
                ID ="002",
                Name = "wang",
                Sex ="女",
                Phone ="456123789",
                Address ="河南南阳"
            },
            new Person()
            {
                ID ="003",
                Name = "zhao",
                Sex ="男",
                Phone ="123789456",
                Address ="河南南阳"
            },
            new Person()
            {
                ID ="004",
                Name = "sun",
                Sex ="女",
                Phone ="789123456",
                Address ="河南南阳"
            },
        };

        public IEnumerable<Person> Get()
        {
            return people;
        }

        public IHttpActionResult GetPerson(string id)
        {
            var person = people.FirstOrDefault((p) => p.ID == id);
            if (person == null)
            {
                return NotFound();
            }
            return Ok(person);
        }
    }

  上面的controller中我添加了一个Person的数组用来代替数据,定义了两个以Get开头的函数用来响应Http的Get消息,第一个Get函数返回所有的person数据,第二个GetPerson函数返回特定ID的数据。

  在Advenced上测试:

    一、

      URl=http://localhost:7281/api/People

      结果:

[4]
0:  {
ID: "001"
Name: "dongdong"
Sex: "男"
Phone: "123456789"
Address: "河南南阳"
}-
1:  {
ID: "002"
Name: "wang"
Sex: "女"
Phone: "456123789"
Address: "河南南阳"
}-
2:  {
ID: "003"
Name: "zhao"
Sex: "男"
Phone: "123789456"
Address: "河南南阳"
}-
3:  {
ID: "004"
Name: "sun"
Sex: "女"
Phone: "789123456"
Address: "河南南阳"
}

  二:

    URL=http://localhost:7281/api/People/001

    结果:

{
ID: "001"
Name: "dongdong"
Sex: "男"
Phone: "123456789"
Address: "河南南阳"
}

  综上:WebApi响应Get方法时控制器的函数可以以Get作为前缀,或者是用C#的Attribute属性来设置路由,如[Route("/getall")]等。

     由于Get方法的响应只是读取数据的,所以其参数比较简单可以通过URL来传递,但是当Put,Post方法的响应函数的参数为复杂参数的时候如何传递参数呢?又如何通过Advanced测试呢?

时间: 2024-10-13 01:24:10

WebApi学习笔记之二 响应HttpGet消息的API的相关文章

使用Visual Studio Code开发Asp.Net Core WebApi学习笔记(二)-- Web Api Demo

在上一篇里,我已经建立了一个简单的Web-Demo应用程序.这一篇将记录将此Demo程序改造成一个Web Api应用程序. 一.添加ASP.NET Core MVC包 1. 在project.json文件添加Microsoft.AspNetCore.Mvc包 1 { 2 "version": "1.0.0-*", 3 "buildOptions": { 4 "debugType": "portable",

android移动开发学习笔记(二)神奇的Web API

本次分两个大方向去讲解Web Api,1.如何实现Web Api?2.如何Android端如何调用Web Api?对于Web Api是什么?有什么优缺点?为什么用WebApi而不用Webservice?这些问题都不去解答,百度一下,关于这方面的资料很多,就不再去啰嗦. 一.如何在web端实现WebApi (1)如何新建一个WebApi? 在上一章中,讲到我们项目用的是.net 4.5,开发工具是Visual Studio 2012,在Visual Studio 2012中新建MVC4项目,选择W

Asp.Net Core WebApi学习笔记(四)-- Middleware

Asp.Net Core WebApi学习笔记(四)-- Middleware 本文记录了Asp.Net管道模型和Asp.Net Core的Middleware模型的对比,并在上一篇的基础上增加Middleware功能支持. 在演示Middleware功能之前,先要了解一下Asp.Net管道模型发生了什么样的变化. 第一部分:管道模型 1. Asp.Net管道 在之前的Asp.Net里,主要的管道模型流程如下图所示: 请求进入Asp.Net工作进程后,由进程创建HttpWorkRequest对象

《JavaScript权威指南》学习笔记之二十---XMLHttpRequest和AJAX解决方案

一.AJAX概述 AJAX是Asynchronous JavaScript and XML的缩写,中文译作异步JavaScript和XML.AJAX 不是新的编程语言,而是一种使用现有标准的新方法,在不重新加载页面的情况下,与服务器交换数据并更新部分网页的艺术.其核心是:客户端的Javascript能够与web服务器进行异步数据交换. 二.AJAX基础---XMLHttpRequest对象 所有现代浏览器(IE7+.Firefox.Chrome.Safari 以及 Opera)均内建 XMLHt

安卓学习笔记(二)基本构件

1.Activity 一个Activity,通常是用户在某一个时刻,在设备上看到的单独的界面.一个应用程序通常含有多个Activity,用户可在期间进行切换.对用户而言,这就是程序的外观部分. Activity的生命周期:启动一个Activity可能会消耗大量资源.他可能会涉及到新建一个Linux进程.为UI对象申请内存空间.从UML布局填充所有对象,以及创建整个界面.为了避免这种浪费,Android通过ActivityManager来管理活动的生命周期. ActivityManager负责创建

AVOS Cloud 学习笔记(二) 功能总结(What it can do?)

AVOS Cloud 学习笔记(一)   功能总结(What it can do?) 第一章.对象存储 对象新建.保存.更新.删除和检索 1 //创建新对象,根据类名 2 AVObject *gameScore = [AVObject objectWithClassName:@"GameScore"]; 3 [gameScore setObject:[NSNumber numberWithInt:1337] forKey:@"score"]; 4 [gameScor

linux网络编程学习笔记之二 -----错误异常处理和各种碎碎(更新中)

errno 在unix系统中对大部分系统调用非正常返回时,通常返回值为-1,并设置全局变量errno(errno.h),如socket(), bind(), accept(), listen().erron存放一个正整数来保存上次出错的错误值. 对线程而言,每个线程都有专用的errno变量,不必考虑同步问题. strerror converts to English (Note: use strerror_r for thread safety) perror is simplified str

Android学习笔记(二)--iparty登陆界面

打开应用,判断是否第一次使用. 1 private void beforeInitMenu() { 2 AppContext appContext = (AppContext) getApplicationContext(); 3 4 if (appContext.isFirstLogin()) { 5 // 第一次启动 6 //如果第一次启动,出现5张引导图片. 7 Intent intent = new Intent(this, GuideActivity.class); 8 startAc

.NET Remoting学习笔记(二)激活方式

目录 .NET Remoting学习笔记(一)概念 .NET Remoting学习笔记(二)激活方式 参考:百度百科  ♂风车车.Net 激活方式概念 在访问远程类型的一个对象实例之前,必须通过一个名为Activation的进程创建它并进行初始化.这种客户端通过通道来创建远程对象,称为对象的激活. 激活分为两大类:服务器端激活  客户端激活 服务器端激活 又称WellKnow(知名对象) 服务器应用程序在激活对象实例之前会在一个众所周知的统一资源标识符(URI)上来发布这个类型.然后该服务器进程