c#创建web项目(web API)

1.创建web API项目


QQ截图20170316105302.png

2.创建项目


QQ截图20170316105138.png

创建好的类视图
QQ截图20170316105211.png

3.添加模型


QQ截图20170316105513.png

QQ截图20170316105543.png

在model中添加代码
 public int Id { get; set; }
        public string Name { get; set; }
        public int Age { get; set; }
        public string City { get; set; }

4.添加控制器
添加前


QQ截图20170316105841.png

添加


QQ截图20170316105945.png

QQ截图20170316105925.png

添加后
QQ截图20170316105954.png

添加代码:

 public class PersonController : ApiController
    {
        Person[] persons = new Person[]
        {
            new Person{Id = 1,Name = "jim",Age = 20,City = "bei jing"},
            new Person{Id = 2,Name = "lili",Age = 23,City = "shang hai"},
            new Person{Id = 3,Name = "alan",Age = 26,City = "tian jin"}
        };

        public IEnumerable<Person> GetAllPersons()
        {
            return persons;
        }

        public Person getPersonById(int id)
        {
            var person = persons.FirstOrDefault((p) => p.Id == id);
            if (person == null)
            {
                throw new HttpResponseException(HttpStatusCode.NotFound);
            }
            return person;
        }

        public IEnumerable<Person> GetPersonsByCity(string city)
        {
            return persons.Where((p) => string.Equals(p.City, city,
                StringComparison.OrdinalIgnoreCase));
        }

    }

5.运行首页


QQ截图20170316110444.png

6.浏览器调用API
网址改为:

http://localhost:12095/api/person/

结果为


6{9L%0HE(4SRE81J}DR%PO0.png

网址变为

http://localhost:12095/api/person/1

结果为


QQ图片20170316111710.png

7.打开Index.cshtml将所有代码替换为

<!DOCTYPE html>
<html lang="en">
<head>
    <title>ASP.NET Web API</title>
    <link href="http://www.cnblogs.com/Content/Site.css" rel="stylesheet" />
    <script src="http://www.cnblogs.com/Scripts/jquery-1.7.1.min.js"
            type="text/javascript"></script>
    <script type="text/javascript">
        $(document).ready(function () {
            // Send an AJAX request
            $.getJSON("api/persons/",
            function (data) {
                // On success, 'data' contains a list of products.
                $.each(data, function (key, val) {
                    // Format the text to display.
                    var str = val.Name + ': $' + val.City;
                    // Add a list item for the product.
                    $('<li/>', { text: str })
                    .appendTo($('#persons'));
                });
            });
        });
        function find() {
            var id = $('#personId').val();
            $.getJSON("api/persons/" + id,
                function (data) {
                    var str = data.Name + ': $' + data.City;
                    $('#person').text(str);
                })
            .fail(
                function (jqXHR, textStatus, err) {
                    $('#person').text('Error: ' + err);
                });
        }
    </script>
</head>
<body id="body">
    <div class="main-content">
        <div>
            <h1>All Persons</h1>
            <ul id="persons" />
        </div>
        <div>
            <label for="personId">ID:</label>
            <input type="text" id="personId" size="5" />
            <input type="button" value="Search" onclick="find();" />
            <p id="person" />
        </div>
    </div>
</body>
</html>

再次运行,页面变为:
![SC51F2}}RQ`WCZPJMTA{QG.png

5UBM_CL515JYBRKBUQWE819.png

结果应该是显示所有Person和搜索结果,但是有些问题数据没有显示出来。

最后编辑于
©著作权归作者所有,转载或内容合作请联系作者
平台声明:文章内容(如有图片或视频亦包括在内)由作者上传并发布,文章内容仅代表作者本人观点,简书系信息发布平台,仅提供信息存储服务。

推荐阅读更多精彩内容

  • Spring Cloud为开发人员提供了快速构建分布式系统中一些常见模式的工具(例如配置管理,服务发现,断路器,智...
    卡卡罗2017阅读 135,067评论 19 139
  • WebSocket-Swift Starscream的使用 WebSocket 是 HTML5 一种新的协议。它实...
    香橙柚子阅读 24,148评论 8 184
  • 作者:同人于野 我最近有点懒得写“国家大事”,还是写点轻松小事吧。最近很多人谈网瘾,本文谈谈普通的,良性的,绿色的...
    闻知阅读 445评论 0 1
  • 《我不是潘金莲》是部值得一看的作品,电影值得一看,原小说更值得一看。 相比冯小刚的电影,刘震云的小说细节更丰富,更...
    lzl727阅读 516评论 0 0