C# 编写Web API

1)创建Web API项目

打开VS2012->FILE->New->Project->Web->ASP.NET MVC 4 Web Application, 修改名字为WebAPIApplication, 单击OK, 在Project Template中选择Web API,单击OK.



2)添加Controller Template选择Empty API controller名字为StudentValueController.cs代码如下

using System;
using System.Collections.Generic;
using System.Linq;
using System.Net;
using System.Net.Http;
using System.Web.Http;

namespace MvcApplication22.Controllers
{
    public class StudentValueController : ApiController
    {
        /// <summary>  
        /// 根据搜索条件获取学生信息  
        /// GET /api/StudentValue/GetStudents?stuName=chad&stuAddress=jiaxing  
        /// </summary>  
        /// <param name="name">姓名</param>  
        /// <param name="address">地址</param>  
        /// <returns>满足条件的学生信息</returns>  
        [HttpGet]
        public IEnumerable<StudentInfo> GetStudents(string stuName, string stuAddress)
        {
            using (DataClassesDataContext dcdc = new DataClassesDataContext())
            {
                List<StudentInfo> items = dcdc.StudentInfos.ToList();
                if (stuName != null)
                {
                    items = items
                        .Where(u => u.stuName.Contains(stuName)).ToList();
                }
                if (stuAddress != null)
                {
                    items = items
                        .Where(u => u.stuAddress.Contains(stuAddress)).ToList();
                }
                return items;
            }
        }
        /// <summary>  
        /// 根据学生编号获取学生信息  
        /// GET /api/StudentValue/GetStudentById/{id}  
        /// </summary>  
        /// <param name="id">编号</param>  
        /// <returns>学生信息</returns>  
        [HttpGet]
        public StudentInfo GetStudentById(int id)
        {
            using (DataClassesDataContext dcdc = new DataClassesDataContext())
            {
                return dcdc.StudentInfos
                    .FirstOrDefault(u => u.stuId.Equals(id));
            }
        }
        /// <summary>  
        /// 添加学生信息  
        /// POST /api/StudentValue/AddStudent  
        /// {stuName:'jack', stuAddress:'jiangsu'}  
        /// </summary>  
        /// <param name="item">学生信息</param>  
        /// <returns>添加成功返回学生信息, 否则返回null</returns>  
        [HttpPost]
        public StudentInfo AddStudent(StudentInfo item)
        {
            try
            {
                using (DataClassesDataContext dcdc = new DataClassesDataContext())
                {
                    dcdc.StudentInfos.InsertOnSubmit(item);
                    dcdc.SubmitChanges();
                    return item;
                }
            }
            catch (Exception ex)
            {
                return null;
            }
        }
        /// <summary>  
        /// 修改学生信息  
        /// PUT /api/StudentValue/UpdateStudent/{id}  
        /// {stuName:'jack', stuAddress:'jiangsu'}  
        /// </summary>  
        /// <param name="id">编号</param>  
        /// <param name="item">新的学生信息</param>  
        /// <returns>更新成功返回学生信息, 否则返回null</returns>  
        [HttpPut]
        public StudentInfo UpdateStudent(int id, StudentInfo item)
        {
            try
            {
                using (DataClassesDataContext dcdc = new DataClassesDataContext())
                {
                    StudentInfo newItem = dcdc.StudentInfos
                        .FirstOrDefault(u => u.stuId == id);
                    newItem.stuName = item.stuName;
                    newItem.stuAddress = item.stuAddress;
                    dcdc.SubmitChanges();
                    return newItem;
                }
            }
            catch (Exception ex)
            {
                return null;
            }
        }
        /// <summary>  
        /// 删除学生信息  
        /// DELETE /api/StudentValue/DeleteStudent/{id}  
        /// </summary>  
        /// <param name="id">编号</param>  
        /// <returns>删除成功返回true, 否则返回false</returns>  
        [HttpDelete]
        public bool DeleteStudent(int id)
        {
            try
            {
                using (DataClassesDataContext dcdc = new DataClassesDataContext())
                {
                    StudentInfo item = dcdc.StudentInfos
                        .FirstOrDefault(u => u.stuId.Equals(id));
                    dcdc.StudentInfos.DeleteOnSubmit(item);
                    dcdc.SubmitChanges();
                    return true;
                }
            }
            catch (Exception ex)
            {
                return false;
            }
        }
    }
}  

3)修改WebApiConfig.cs内容如下,主要是修改API访问路径

using System;
using System.Collections.Generic;
using System.Linq;
using System.Web.Http;

namespace MvcApplication2
{
    public static class WebApiConfig
    {
        public static void Register(HttpConfiguration config)
        {
            config.Routes.MapHttpRoute(
                name: "DefaultApi",
                routeTemplate: "api/{controller}/{action}/{id}",
                defaults: new { id = RouteParameter.Optional }
            );
        }
    }
}

4)用Firefox RESTClient测试编写的API

提示:在Body中添加json数据时请在Headers中添加Content-Type: application/json


  • 0
    点赞
  • 4
    收藏
    觉得还不错? 一键收藏
  • 3
    评论
### 回答1: 音樂對我來說是一種表達情感和思想的媒介。無論是聆聽音樂還是演奏音樂,都能讓我感受到深深的情感共鳴。 當我聆聽音樂時,我可以完全沉浸在音樂的世界中。音樂可以將我帶入不同的情感狀態,從喜慶到憂愁,從平靜到激動。它可以讓我忘卻現實的壓力和煩惱,帶來一種心靈的寧靜和解脫。同時,不同的音樂風格和流派也能讓我體驗到不同的文化和音樂表達方式。無論是古典音樂、流行音樂還是民族音樂,每一種音樂都有自己獨特的美妙之處。 而當我演奏音樂時,我可以通過樂器發聲來表達自己的情感和思想。我喜歡彈奏鋼琴,因為它能夠表達非常豐富和深入的音樂情感。當我的手指觸摸琴鍵並彈奏出美妙的音樂時,我能夠感受到與樂器的連結和奏鳴的快樂。演奏音樂需要不斷的練習和技巧,但隨著我逐漸掌握和理解音樂的本質,我能夠通過樂器與聽眾分享自己的音樂故事。 總而言之,音樂對我來說是一種無法言喻的表達方式。它能夠觸動我內心深處的情感,讓我感受到生命的美好和豐富。無論是聆聽音樂還是演奏音樂,都是我生活中不可或缺的一部分。 ### 回答2: 对于大多数人来说,C语言是一种广泛应用于计算机科学和编程领域的编程语言。它于1972年由贝尔实验室的Dennis Ritchie开发,并在随后的几十年中被广泛采用。 C语言是一种高效且功能强大的语言。它提供了很多的编程结构和功能,使得开发者可以以更灵活的方式编写代码。C语言也具有高性能和低级别的特性,使得开发者可以更好地控制硬件和内存资源。因此,C语言在嵌入式系统、操作系统和驱动程序等需要高效和低级别控制的应用程序中得到广泛应用。 C语言的语法相对简单,易于学习和理解。它的语法规则清晰明了,没有过多的语法糖和复杂的特性。这使得初学者相对容易上手,并且可以很快编写出可执行的程序。 C语言还被广泛使用是因为它的跨平台性。一次编写的C语言程序可以在各种操作系统和硬件平台上运行,而不需要进行太多的修改。这使得开发者可以更方便地开发和移植应用程序,节省了时间和精力。 总之,C语言是一种广泛应用于计算机科学和编程领域的编程语言,以其高效、功能强大、简单易学和跨平台性而著称,被广大开发者用于各种应用程序的开发。

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论 3
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值