.NetCore WebApi 学习 -- 控制器结构及前端访问方式

控制器

//访问的地址api/控制器名称/方法名称;action一般会省略
[Route("api/[controller]/[action]")]
public class TestController : ControllerBase
{
//[Route]与[HttpPost]内都设置了参数相当于这个方法有两个请求地址
//两个地址都是接在类上定义的地址后面使用
[Route("insert/{参数1}")]//{}大括号内为自定义参数,也可以只设置常量作为访问地址
[HttpPost("insert/{参数1}")]
//地址上设置了参数后直接在地址后增加需要传递参数即可,否则需要另外传递接口所需要的参数
public async Task<ActionResult<Md5Test>> PostMd5Test(string 参数1,Md5Test md5Test)
{
//将传来的数据进行处理
_context.Md5Test.Add(md5Test);
await _context.SaveChangesAsync(); return CreatedAtAction("GetMd5Test", new { id = md5Test.Id }, md5Test);//返回数据给客户端
}
[HttpGet("Count")]
public PageModels GetPageContent()
{
int Md5TestsCount = _context.Md5Test1.Count();
PageModel.TableCount = Md5TestsCount;
PageModel.PageCount = (int)Math.Ceiling((double)Md5TestsCount / 20);
return PageModel;
}
[HttpGet("Page/{PageIndex}")]
public async Task<ActionResult<IEnumerable<Md5Test1>>> GetMd5TestPage(int PageIndex = 0)
{
return await _context.Md5Test1.Skip(PageIndex * PageModel.PageSize).Take(PageModel.PageSize).ToListAsync();
}
}

前端访问方式

使用Ajax访问
const item = {
Key: "AAAAAA",
Value: "36d04a9d74392c727b1a9bf97a7bcbac"
};
$.ajax({
url: 'api/Test/GetModel',
type:"get",
data: { Id: 1},
success: function(a) {
console.log(a);
}
});
$.ajax({
url: 'api/Test/GetModel/1',
type:"get",
success: function(a) {
console.log(a);
}
});
$.ajax({
url: 'api/Md5Test/insert',
type: "POST",
async: true,
dataType: "json",
data: item,
contentType: "application/x-www-form-urlencoded",
success: function(a) {
console.log(a);
}
});
使用fetch访问
//fetch是一种HTTP数据请求的方式,是XMLHttpRequest的一种替代方案。
//fetch不是ajax的进一步封装,而是原生js。
//fetch函数就是原生js,没有使用XMLHttpRequest对象。
const item = {
Key: "AAAAAA",
Value: "36d04a9d74392c727b1a9bf97a7bcbac"
};
var url = `api/Test/insert/${参数}`;//请求地址为api/控制器名称/定义的标识/参数;具体视自身定义内容而定
//var postReq = new Request(url, {method: 'POST'});//fetch跟随的括号内的内容可以使用Request参数化
fetch(url, {
method: 'POST',//指定 POST HTTP 操作
headers: {//HTTP 请求标头,分别指定接收和发送的媒体类型,此处将两个标头都设置为 application/json
'Accept': 'application/json',
'Content-Type': 'application/json'
},
body: JSON.stringify(item)//指定请求正文的 JSON 表示形式//json格式发送接口所需要的数据
})
.then(response => response.json())//接口访问失败时执行
.then(response => {
Page = response.data;//接口返回成功时执行//返回内容都在response.data中
})
.catch(error => console.error('Unable to add item.', error));//接口访问出错时执行 fetch(`${uri}/Count`)
.then(response => response.json())
.then(function (date1) {
--返回内容在date1中,可在此处处理
})
.catch(error => console.error('Unable to get items.', error));
使用VUE-axios访问

VUE-axios与fetch结构类似

const item = {
Key: "AAAAAA",
Value: "36d04a9d74392c727b1a9bf97a7bcbac"
};
//get访问
axios.get(`${uri}/Page/${self.PageIndex}`)//请求地址
.then(response => (self.sites = response.data))//结果处理//返回结果全部早response.data中
.catch(error => console.error('Unable to get items.', error));//错误处理
//post访问
axios({
method: 'post',//接口访问方式GET\POST
url: `${uri}/insert`,//接口访问地址
data: item//接口需要的参数
})
.then(response => (console.log(response.data)))
.catch(error => console.error('Unable to get items.', error));

.NetCore WebApi结构及前端访问方式的更多相关文章

  1. 使用react全家桶制作博客后台管理系统 网站PWA升级 移动端常见问题处理 循序渐进学.Net Core Web Api开发系列【4】:前端访问WebApi [Abp 源码分析]四、模块配置 [Abp 源码分析]三、依赖注入

    使用react全家桶制作博客后台管理系统   前面的话 笔者在做一个完整的博客上线项目,包括前台.后台.后端接口和服务器配置.本文将详细介绍使用react全家桶制作的博客后台管理系统 概述 该项目是基 ...

  2. 分布式结构化存储系统-HBase访问方式

    分布式结构化存储系统-HBase访问方式 作者:尹正杰 版权声明:原创作品,谢绝转载!否则将追究法律责任. HBase提供了多种访问方式,包括HBase shell,HBase API,数据收集组件( ...

  3. 面试题:JVM在Java堆中对对象的创建、内存结构、访问方式

    一.对象创建过程 1.检查类是否已被加载 JVM遇到new指令时,首先会去检查这个指令参数能否在常量池中定位到这个类的符号引用,检查这个符号引用代表的类是否已被加载.解析.初始化,若没有,则进行类加载 ...

  4. NetCore WebApi使用Jwtbearer实现认证和授权

    1. 什么是JWT? JWT是一种用于双方之间传递安全信息的简洁的.URL安全的表述性声明规范.JWT作为一个开放的标准(RFC 7519),定义了一种简洁的,自包含的方法用于通信双方之间以Json对 ...

  5. JWT With NetCore WebApi

    1 什么是JWT? JWT是一种用于双方之间传递安全信息的简洁的.URL安全的表述性声明规范.JWT作为一个开放的标准(RFC 7519),定义了一种简洁的,自包含的方法用于通信双方之间以Json对象 ...

  6. .NetCore WebApi——Swagger简单配置

    在前后端分离的大环境下,API接口文档成为了前后端交流的一个重点.Swagger让开发人员摆脱了写接口文档的痛苦. 官方网址:https://swagger.io/ 在.Net Core WebApi ...

  7. .NetCore WebApi + Vue +MySql搭建博客

    因为我是一直写C#的,所以最近闲暇时间一直在学习.NET Core,该博客的后端使用的就是.NET Core WebApi然后加前端Vue. 首先后端.NET Core搭的框架是一个仓储层+服务层+A ...

  8. ADO.NET编程之美----数据访问方式(面向连接与面向无连接)

    最近,在学习ADO.NET时,其中提到了数据访问方式:面向连接与面向无连接.于是,百度了一下,发现并没有很好的资料,然而,在学校图书馆中发现一本好书(<ASP.NET MVC5 网站开发之美&g ...

  9. netcore webapi帮助文档设置

    如何建 .netcore webapi 项目这个就不说了,这个都没有没必要看下去. 我这里是.netcore 2.0,虽然没测过1.0的,但想来差不多. 1.Nuget Packages安装,使用程序 ...

随机推荐

  1. css中常用的选择器和选择器优先级

    css常用的选择器:类选择器,id选择器,元素选择器,伪类选择器,伪元素选择器,属性选择器. 选择器的优先级由四个部分组成:0,0,0,0 一个选择器的具体优先级如下规则确定: ID选择器 加 0,1 ...

  2. PAT(B) 1085 PAT单位排行(Java:20分)

    题目链接:1085 PAT单位排行 (25 point(s)) 题目描述 每次 PAT 考试结束后,考试中心都会发布一个考生单位排行榜.本题就请你实现这个功能. 输入格式 输入第一行给出一个正整数 N ...

  3. 协议——SPI

    SPI(Serial Peripheral interface)是由摩托罗拉公司定义的一种串行外围设备接口,是一种高速.全双工.同步的通信总线,只需要四根信号线即可,节约引脚,同时有利于PCB的布局. ...

  4. YARN-HA高可用集群搭建

    YARN-HA配置 1. YARN-HA工作机制 1.1 官方文档:http://hadoop.apache.org/docs/r2.7.2/hadoop-yarn/hadoop-yarn-site/ ...

  5. mybatis-plus代码生成,实体类不生成父类属性

    一.参考文档: 官方文档其实说的很清楚了,可能有个别地方有点不太清楚. mybatis-plus官方: https://mp.baomidou.com/guide/generator.html 模版引 ...

  6. Django:ORM介绍

    1.ORM概念 ​ 对象关系映射(Object Relational Mapping,简称ORM)模式是一种为了解决面向对象与关系数据库存在的互不匹配的现象的技术. ​ 简单的说,ORM是通过使用描述 ...

  7. CSS 实现盒子水平居中、垂直居中和水平垂直居中的方法

     CSS 实现盒子模型水平居中 水平居中效果图如下: HTML: CSS 全局样式: 方法一:使用margin: 0 auto;(只适用于子盒子有宽的时候) 方法二:text-align + disp ...

  8. JavaScript前端图片压缩

    实现思路 获取input的file 使用fileReader() 将图片转为base64 使用canvas读取base64 并降低分辨率 把canvas数据转成blob对象 把blob对象转file对 ...

  9. Android目前流行三方数据库ORM分析及对比

    Android 平台上的数据库框架非常多,但是有一个共同特点就是基于对象关系映射(ORM)模型的.实现的目标也都是不需要写SQL语句,通过对对象的操作保存和操作数据.要是从语法的简洁性来说都有自己的特 ...

  10. SuperTab

    Tab快捷键提示功能 下载 http://www.vim.org/scripts/script.php?script_id=1643 安装 # vi supertab.vmb : UseVimball ...