• 设为首页
  • 点击收藏
  • 手机版
    手机扫一扫访问
    迪恩网络手机版
  • 关注官方公众号
    微信扫一扫关注
    迪恩网络公众号

ASP.NETWebAPI使用记录

原作者: [db:作者] 来自: [db:来源] 收藏 邀请

WebAPI采用REST架构,用的是无状态的HTTP协议。
Web Service则是SOAP协议,比较重量级。

推荐阅读:Difference between WCF and Web API and WCF REST and Web Service

 

创建API

 创建简单的API


1. 新建一个Web API文件,

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

namespace mvc5
{
    public class MoviesValuesController : ApiController
    {
        // GET api/<controller>
        public IEnumerable<string> Get()
        {
            return new string[] { "value1", "value2" };
        }

        // GET api/<controller>/5
        public string Get(int id)
        {
            return "value";
        }

        // POST api/<controller>
        public string Post([FromBody]string value)
        {
            return value;
        }

        // PUT api/<controller>/5
        public void Put(int id, [FromBody]string value)
        {
        }

        // DELETE api/<controller>/5
        public void Delete(int id)
        {
        }
    }
}

 

创建包含Entity Framework的API

1. 点击“工具”菜单->NuGet包管理器->管理解决方案的NuGet程序包,搜索entity,点击“安装”按钮。

2. 在Models目录下添加一个类:

namespace AirLiveServer.Models
{
    using System;
    using System.Collections.Generic;
    using System.ComponentModel.DataAnnotations;
    using System.ComponentModel.DataAnnotations.Schema;
    using System.Data.Entity.Spatial;

    [Table("House")]
    public partial class House
    {
        [Key]
        public int ID { get; set; }

        [StringLength(50)]
        public string User { get; set; }

        [StringLength(500)]
        public string Contact { get; set; }

        [StringLength(500)]
        public string Food { get; set; }

        [StringLength(500)]
        public string Link { get; set; }

        [Column(TypeName = "datetime")]
        public DateTime? Date { get; set; }
    }
}

 

3. 在Controllers目录下添加一个控制器,选择

 

 

 

 


修改实体类后重建数据库


在nuget控制台输入:
Enable-Migrations

然后打开Migrations目录的configuation.cs,作出如下修改:

public Configuration()
{
AutomaticMigrationsEnabled = true;
}


然后在nuget控制台输入:
Update-Database -Force

 

测试API

新建一个HTML文件

<!DOCTYPE html>
<html>
<head>
  <title>Web API</title>
  <script src="jquery-2.0.3.min.js" type="text/javascript">
</script>
  <script>
function post() {
    $.ajax({

        data: {
            "": "小丸"
        },
        type: "post",
        dataType: "json",
        //指定输出类型为json格式
        url: "http://localhost:52913/api/MoviesValues",
        success: function(data) {
            alert(data);
        }
    });
}
  </script>
</head>
<body>
  <form>
    <input id="ajaxbtn" type="button" onclick="post()" value="ajax" />
  </form>
</body>
</html>

 

在chrome浏览器的快捷方式后加上 --disable-web-security --user-data-dir=E:\MyChromerData ,打开HTML文件,点击按钮即可。

具体步骤 谷歌浏览器如何设置可以解决Ajax跨域问题_百度经验

 

 

将输出格式改为JSON字符串:
在Global.asax.cs的Application_Start中加入

GlobalConfiguration.Configuration.Formatters.XmlFormatter.SupportedMediaTypes.Clear();

 


鲜花

握手

雷人

路过

鸡蛋
该文章已有0人参与评论

请发表评论

全部评论

专题导读
上一篇:
细说jquery ui和jqgrid的ASP.NET实现发布时间:2022-07-10
下一篇:
ASP.NET 4.5 MVC 4 无法在Windows2008的IIS7.0上解决方案发布时间:2022-07-10
热门推荐
阅读排行榜

扫描微信二维码

查看手机版网站

随时了解更新最新资讯

139-2527-9053

在线客服(服务时间 9:00~18:00)

在线QQ客服
地址:深圳市南山区西丽大学城创智工业园
电邮:jeky_zhao#qq.com
移动电话:139-2527-9053

Powered by 互联科技 X3.4© 2001-2213 极客世界.|Sitemap