[Asp.Net WebApi]WebApi入门

Posted 厦门德仔

tags:

篇首语:本文由小常识网(cha138.com)小编为大家整理,主要介绍了[Asp.Net WebApi]WebApi入门相关的知识,希望对你有一定的参考价值。

前言

下午4点闲着无聊,想起群里昨天小李问到如何创建WebApi项目,
那利用摸鱼时间自学一下吧。打开度娘呗。

一、 创建WebApi项目

二、创建实体

三、创建控制器

[ApiController]
    [Route("[controller]")]
    public class ContactController : ControllerBase
    
        private static readonly Contact[] contacts = new Contact[] 
            new Contact() ID=1,Age=20,BirthDay=Convert.ToDateTime("1988-07-5"),Name="傲娇",Sex="男",
            new Contact() ID=1,Age=18,BirthDay=Convert.ToDateTime("1988-07-3"),Name="阿里斯",Sex="女",
            new Contact() ID=1,Age=1,BirthDay=Convert.ToDateTime("1988-07-26"),Name="网妹",Sex="女",
            new Contact() ID=1,Age=4,BirthDay=Convert.ToDateTime("1988-07-5"),Name="哈子",Sex="男"
        ;
        private readonly ILogger<WeatherForecastController> _logger;
        public ContactController(ILogger<WeatherForecastController> logger)
        
            _logger = logger;
        
        [HttpGet]
        [Route("ContactController/GetListAll")]
        public ActionResult<IEnumerable<Contact>> GetListAll()
        
            return contacts.ToList();
        
        [HttpPost]
        [Route("ContactController/PostContactByID")]
        public Contact PostContactByID(int id)
        
            Contact contact = contacts.FirstOrDefault<Contact>(item => item.ID == id);
            if (contact == null)
            
                throw new System.Web.Http.HttpResponseException(HttpStatusCode.NotFound);
            
            return contact;
        
        [HttpPost]
        [Route("ContactController/GetListBySex")]
        public ActionResult<IEnumerable<Contact>> GetListBySex(string sex)
        
            return  contacts.Where(item => item.Sex == sex).ToList();
        

    

四、启动测试


测试:

返回对象

返回对象列表

总结

因为不熟悉:中间遇到,只允许唯一别名问题,加上特性。解决返回对象格式异常等。
群主提到安全性问题:
因为是第一次构建webapi,未启用安全认证,完全开放式。生产环境中需要token验证。后续改进。

以上是关于[Asp.Net WebApi]WebApi入门的主要内容,如果未能解决你的问题,请参考以下文章

ASP.NET WebApi 从入门到"放弃"系列---WebApi 请求路由

01Getting Started---Getting Started with ASP.NET Web API 2入门WebApi2

快速入门系列--WebAPI--03框架你值得拥有

免费视频使用VS Code开发ASP.NET Core WebAPI应用程序

ASP.NET Web API系列教程目录

选择 webApi 模板时如何将 ASP.Net 身份添加到 Asp.Net Core?