一、.net core环境准备
直接装visualstudio 2017,具体安装方法,自行下载安装即可。
二、.net core使用
用.net core编写一个webapi。
具体过程如下,
1、新建工程

2、添加模型类

    public class MyItem{public long Id { get; set; }public string Name { get; set; }public bool IsComplete { get; set; }}

3、添加数据上下文

  public class MyContext: DbContext{public MyContext(DbContextOptions<MyContext> options): base(options){}public DbSet<MyItem> MyItems { get; set; }}

4、注册数据上下文

 public class Startup{public Startup(IConfiguration configuration){Configuration = configuration;}public IConfiguration Configuration { get; }// This method gets called by the runtime. Use this method to add services to the container.public void ConfigureServices(IServiceCollection services){//我的新增代码services.AddDbContext<MyContext>(opt =>opt.UseInMemoryDatabase("TodoList"));services.AddMvc().SetCompatibilityVersion(CompatibilityVersion.Version_2_2);}// This method gets called by the runtime. Use this method to configure the HTTP request pipeline.public void Configure(IApplicationBuilder app, IHostingEnvironment env){if (env.IsDevelopment()){app.UseDeveloperExceptionPage();}else{// The default HSTS value is 30 days. You may want to change this for production scenarios, see https://aka.ms/aspnetcore-hsts.app.UseHsts();}app.UseHttpsRedirection();app.UseMvc();}}

5、添加控制器及相关方法
添加get,post,delete等方法

 public class MyController : Controller{private readonly MyContext _context;public MyController(MyContext context){_context = context;if (_context.MyItems.Count() == 0){_context.MyItems.Add(new MyItem {Id=99, Name = "我的自定义的控制器_99 "+DateTime.Now.ToLocalTime() });_context.MyItems.Add(new MyItem {Id =100, Name = "我的自定义的控制器_100 " + DateTime.Now.ToLocalTime() });_context.SaveChanges();}}// GET: api/Todo[HttpGet]public async Task<ActionResult<IEnumerable<MyItem>>> GetMyItems(){return await _context.MyItems.ToListAsync();}// GET: api/Todo/99[HttpGet("{id}")]public async Task<ActionResult<MyItem>> GetMyItem(long id){var todoItem = await _context.MyItems.FindAsync(id);if (todoItem == null){return NotFound();}return todoItem;}// POST: api/Todo[HttpPost]public async Task<ActionResult<MyItem>> PostMyItem(MyItem item){_context.MyItems.Add(item);await _context.SaveChangesAsync();return CreatedAtAction("GetMyItem", new { id = item.Id , Name = item.Name}, item);}[HttpPut("{id}")]public async Task<IActionResult> PutMyItem(long id, MyItem item){if (id != item.Id){return BadRequest();}_context.Entry(item).State = EntityState.Modified;await _context.SaveChangesAsync();return NoContent();}// DELETE: api/Todo/101[HttpDelete("{id}")]public async Task<ActionResult<MyItem>> DeleteMyItem(long id){var todoItem = await _context.MyItems.FindAsync(id);if (todoItem == null){return NotFound();}_context.MyItems.Remove(todoItem);await _context.SaveChangesAsync();return todoItem;}}

6、设置路由
在刚新加的控制器上新增路由,比如

    [Route("api/My")][ApiController]public class MyController : Controller

同时在launchSettings.json中设置,访问默认路径,比如

{"$schema": "http://json.schemastore.org/launchsettings.json","iisSettings": {"windowsAuthentication": false, "anonymousAuthentication": true, "iisExpress": {"applicationUrl": "http://localhost:50228","sslPort": 44364}},"profiles": {"IIS Express": {"commandName": "IISExpress","launchBrowser": true,"launchUrl": "api/My","environmentVariables": {"ASPNETCORE_ENVIRONMENT": "Development"}},"MyToDoApi": {"commandName": "Project","launchBrowser": true,"launchUrl": "api/My","applicationUrl": "https://localhost:5001;http://localhost:5000","environmentVariables": {"ASPNETCORE_ENVIRONMENT": "Development"}}}
}

7、测试
在工程上启用调试,本文使用postman进行测试。
启用调试后,在浏览器页面中地址为:https://localhost:44364/api/My,显示内容如下,

[{"id":99,"name":"我的自定义的控制器_99 2019/1/13 23:26:24","isComplete":false},{"id":100,"name":"我的自定义的控制器_100 2019/1/13 23:26:24","isComplete":false}]

7.1、测试get方法
GetMyItems调用如下,

GetMyItem调用如下,

7.2、测试post方法
PostMyItem调用如下,

调用后,在浏览器页面验证如下

7.3、测试put方法
PutMyItem调用如下

浏览器中验证,

7.4、测试delete方法
DeleteMyItem调用如下,
 

浏览器中验证,

工程文件下载:https://download.csdn.net/download/yysyangyangyangshan/10914869

少说话多写代码之.net core——001:建一个api相关推荐

  1. 少说话多写代码之Python学习002——环境搭建

    一.安装包安装 本机为windows所以主要介绍windows下的环境搭建, for windows的python安装包下载地址: http://www.python.org/download/ 按照 ...

  2. 少说话多写代码之Python学习034——其他语句01(pass,del)

    pass语句 pass就是什么都不做,和C#中的一个分号语句很像. 一般用作占位符,比如,这种情况,就是什么都不处理. name=input('请输入姓名') if len(name)<3:pr ...

  3. 少说话多写代码之Python学习066——python程序打包01 编译安装

    程序开发完成后,我们需要部署给用户使用,一般我们都会将其打包.比如大家在使用windows系统时,安装QQ.微信.除IE外的各种浏览器.看视频软件.word等,都会先下载一个安装包,一般是都是一个EX ...

  4. 少说话多写代码之Python学习009——字典的创建

    字段是Python中唯一内建的映射类型.字典中的值并没有特殊的顺序,但是都储存在一个特定的键下,键可以是数字,字符串甚至是元组.而对于我们常见的列表则是数据挨个存放. 比如某些情况下,我们使用字典会比 ...

  5. 少说话多写代码之Python学习017——字典的方法(items、pop)

    items方法将字典的所有项以列表方式返回,列表中每一项都表示为(键,值)对形式,但对字典的项的次序没有什么规律. #items方法 d={'title':'绕口令:喇嘛和哑巴','content': ...

  6. 少说话多写代码之Python学习008——字符串的方法02

    #!/usr/bin/python #_*_coding:UTF-8 _*_# split方法 str='喜,怒,忧,思,悲,恐,惊' stringArray=str.split(',') print ...

  7. 少说话多写代码之Python学习062——标准模块(random模块)

    random主要是产生随机数.不过实际上,不论哪种语言中所谓的随机数,其实都不是真正意义的随机数.random中的SystemRandom可以让数据接近真正的随机数. 我们通过下面的例子来看看随机数的 ...

  8. 少说话多写代码之Python学习016——get方法练习

    前面看了get的基本使用,我们再使用get进行练习,做一个建议的数据库查询功能. 代码如下, 初始化people对象,我们当作一个简易数据库使用.通过数据的参数打印出指定的值. people ={'刘 ...

  9. 少说话多写代码之GO开发——007:go的并发

    go的并发是通过go语句开启一个轻量级线程goroutine,由goglang运行时来管理goroutine.用法很简单,通过如下代码来看看. 新建一个文件grammar3_goroutine.go ...

最新文章

  1. linux如何取文件列名,Linux ps 指定列名
  2. 我对CopyOnWrite的思考
  3. Hadoop之Hadoop基础知识
  4. 31 | 深度和广度优先搜索:如何找出社交网络中的三度好友关系?
  5. java 任务池_多线程的应用-异步任务线程池的简单实现
  6. vivado 亚稳态_VIVADO时序约束及STA基础
  7. python---python3 获取当前路径及os.path.dirname的使用;os.path.abspath(__file__)用法及意义
  8. 颠覆大数据分析之结论
  9. 百度统计api 关于搜索引擎返回参数问题
  10. vue ,solt 插值组件新内容
  11. 智能网联汽车 自动驾驶功能场地试验方法及要求
  12. tensorboard侧视_如何调整侧视/后视镜(以及为什么需要3台显示器)
  13. 白杨SEO对话老姜:聊聊第三方平台站内SEO,第三方平台的引流的逻辑是什么?
  14. 多linux系统的安装方法,在Linux系统中安装使用WPS的方法
  15. GIST 空间包络特征 推荐论文 简介
  16. Android 推送-个推
  17. zookeeper--ClientCnxn
  18. MeasureSpec源码解读
  19. 7-25朋友圈(C语言版)
  20. 情侣间为不吵架而“约法三章”,12条可参考理由!

热门文章

  1. 以“新IT”助“数智融合”,联想推开“智能化转型”下半场的大门
  2. 零基础,CCNA自学资料
  3. AES128-ecb加解密
  4. 如何使用MSN Chat Monitor Sniffer?
  5. intellij 关闭自动保存和标志修改文件为星号
  6. 云原生Web服务框架ESA Restlight
  7. 大学暗恋一个女同学四年,毕业半年后,同学告诉我她等了我四年。【转贴】
  8. 服务器托管、服务器租用、云主机的比较
  9. c语言creat,C语言creat()函数:创建指定文件名的文件
  10. 靠!龙书第二版两天前上架了