ASP.NET Core MVC使用MessagePack配合前端fetch交换数据
1.安装Nuget包 - WebApiContrib.Core.Formatter.MessagePack
https://www.nuget.org/packages/WebApiContrib.Core.Formatter.MessagePack/
2.配置Startup.cs
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.AddMvc()
.AddMessagePackFormatters()
.SetCompatibilityVersion(CompatibilityVersion.Version_2_2); }
}
3.添加控制器
[Produces("application/x-msgpack")]
public class TestController : Controller
{
public IActionResult Get()
{
return new ObjectResult(new TestDto()
{
Name = "旋风小伙",
Age = ,
});
}
public IActionResult Post([FromBody]TestDto dto)
{
return new ObjectResult(raw);
}
}
4.复制msgpack-lite的js到wwwroot/js目录下
https://github.com/kawanet/msgpack-lite/blob/master/dist/msgpack.min.js
5.编写js
先把js引入到需要使用messagepack的cshtml文件中
<script src="~/js/msgpack.min.js" asp-append-version="true"></script>
然后开始测试GET和POST方法
//测试POST方法
fetch('/Test/Post', {
method: 'POST',
headers: {
'Content-Type': 'application/x-msgpack'
},
body: msgpack.encode({ Name: "旋风小伙", Age: 22 })
})
.then(data => console.log(data))
.catch(e => console.error(e)); //测试GET方法
fetch('/Login/Get')
.then(data => data.arrayBuffer())
.then(b => {
//打印了一个对象
console.log(msgpack.decode(new Uint8Array(b)));
})
.catch(e => console.error(e));
大功告成!
ASP.NET Core MVC使用MessagePack配合前端fetch交换数据的更多相关文章
- asp.net core mvc视频A:笔记2-2.接收数据
传参方式一:使用内置方法传递 运行结果 其他获取方法 Session对象在HttpContext中 启用Session 使用Session 运行演示 传参方式二:数据绑定 普通类型(string).自 ...
- ASP.NET Core MVC 之视图(Views)
ASP.NET Core MVC 控制器可以使用视图返回格式化的结果. 1.什么是视图 在 MVC 中,视图封装了用户与应用交互呈现细节.视图是具有生成要发送到客户端内容的,包含嵌入代码的HTML模板 ...
- 数据呈现到 ASP.NET Core MVC 中展示
终于要将数据呈现到 ASP.NET Core MVC 中的 视图 上了 将数据从控制器传递到视图的三种方法 在 ASP.NET Core MVC 中,有 3 种方法可以将数据从控制器传递到视图: 使用 ...
- asp.net core mvc和angular项目的一些问题
最近公司布置任务,用asp.net core mvc和angular改写原来的一个用Silverlight做的项目.从来没搞过,找了两本书看了一天,又看了一天代码,大致心里有底了,就开始动手.没想到一 ...
- ASP.NET Core MVC 源码学习:MVC 启动流程详解
前言 在 上一篇 文章中,我们学习了 ASP.NET Core MVC 的路由模块,那么在本篇文章中,主要是对 ASP.NET Core MVC 启动流程的一个学习. ASP.NET Core 是新一 ...
- ASP.NET Core MVC Tag Helpers 介绍
简介 Tag Helpers 提供了在视图中更改和增强现有HTML元素的功能.将它们添加到视图中,会经过Razor模板引擎处理并创建一个HTML,之后再返回给浏览器.有一些Tag Helpers,其实 ...
- 基于 Asp.Net Core MVC 的 Angular4 SSR 英雄指南
为啥有这篇文章 在之前,类似 Angular.React.Vue 之类的前端框架的一个痛点就是无法在服务端提前把网页内容写入到网页中再发回浏览器,这给网站的 SEO 增加了不少困难,因为爬虫爬到的页面 ...
- ASP.NET Core MVC中的 [Required]与[BindRequired]
在开发ASP.NET Core MVC应用程序时,需要对控制器中的模型校验数据有效性,元数据注释(Data Annotations)是一个完美的解决方案. 元数据注释最典型例子是确保API的调用者提供 ...
- 使用 ASP.NET Core MVC 创建 Web API(五)
使用 ASP.NET Core MVC 创建 Web API 使用 ASP.NET Core MVC 创建 Web API(一) 使用 ASP.NET Core MVC 创建 Web API(二) 使 ...
随机推荐
- 【转】Selenium2学习路线
课程大纲:第一部分:基础入门 第一课: SELENIUM2的原理介绍及环境搭建本节课主要讲解SELENIUM2的原理,让大家了解SELENIUM2的发展历程,同时解惑大家对自动化测试中产生的一些误区. ...
- WHU-1551-Pairs(莫队算法+分块实现)
Description Give you a sequence consisted of n numbers. You are required to answer how many pairs of ...
- java的自动类型转换
package BaseType; /*java的自动类型提升和窄化转换 * * 1. 当一个char,short,byte类型的变量被赋值给一个超出他自身能表示的最大范围的数,java会自动将该数转 ...
- js可视区域图片懒加载
可视区域图片懒加载 实现原理,页面滚动时获取需要懒加载的图片,判断此图片是否在可视区域内,是则设置图片data-src地址为src地址,加载图片. html下载地址 <!DOCTYPE html ...
- PL/SQL Developer导入导出Oracle数据库方法
前一篇博客介绍了Navicat工具备份Oracle的方法.这篇博客介绍一下使用PL/SQL Developer工具导入导出Oracle数据库的方法. PL/SQL Developer是Oracle数据 ...
- XMU 1612 刘备闯三国之桃园结义 【二分】
1612: 刘备闯三国之桃园结义 Time Limit: 1000 MS Memory Limit: 128 MBSubmit: 181 Solved: 12[Submit][Status][We ...
- mysql连接com.mysql.jdbc.exceptions.jdbc4.CommunicationsException: Communications link
jdbc驱动:mysql-connector-java-5.1.39-bin.jar 这个有问题, 换成:mysql-connector-java-5.1.34.jar 就可以了
- YTU 2402: Common Subsequence
2402: Common Subsequence 时间限制: 1 Sec 内存限制: 32 MB 提交: 63 解决: 33 题目描述 A subsequence of a given seque ...
- SERVLET类常用接口及方法
SERVLET类常用接口及方法 2011-09-09 16:14:43 [size=xx-small]SERVLET类常用接口及方法2007年04月05日 星期四 04:46 P.M.基本类和接 ...
- 并不对劲的[USACO07NOV,洛谷p2886]Cow Relays
题意就是给一张无向有边权的图.起点.终点,求起点到终点经过n条边的最短路.n<=10^6,点的编号<=10^3,边数<=10^2. 这个边数让人不由自主地想到了floyd,然后发现f ...