首页
学习
活动
专区
工具
TVP
发布
精选内容/技术社群/优惠产品,尽在小程序
立即前往

ASP.NET Core 2.1 建立规范 REST API -- HATEOAS

为了让ASP.NET Core Web API 支持HATEOAS, 得需要自己手动编写代码实现....接下来是自定义标识,也可能还包括额外值,这里我是是公司名,随后是hateoas表示返回响应里面要包含链接。 最后是一个“+json”。...返回是406,Not Acceptable。 这是因为ASP.NET Core格式化器并不认识我们这个自定义媒体类型。 在Startup里面添加这两句话以支持这个媒体类型: ?...然后在两个Action里,我都是是application/json这个媒体类型,实际上这个项目里目前大部分API我都是是application/json。...也许在ASP.NET MVC或者一些web网站可以自适应这种变化,如果这些网站js,html等是从服务器端生成;但是大多数时候,其实很难实现这种自适应变化。

83440
您找到你想要的搜索结果了吗?
是的
没有找到

ASP.NET Core 2.1 建立规范 REST API -- 翻页排序过滤等

(从ASP.NET Core 2.0 迁移至 ASP.NET Core 2.1: https://docs.microsoft.com/en-us/aspnet/core/migration/20_21...在ASP.NET Core里,我要使用Linq来动态组建一个查询表达式(IQueryable,可以创建表达式树),它是延迟执行,直到各种条件都判断完了并组建出最终查询表达式之后才去执行(查询数据库...我使用了这个参数类代替了之前pageIndex和pageSize参数,因为ASP.NET Core足够智能,可以把这两个参数解析到这个类里面。 下面测试一下: ?...程序来说就是,一个字符串“Rank asc”要映射成一个集合,而集合元素类型有两个属性:Entity Model属性名和排序方向。 所以先把集合里这种元素建立出来: ?...该方法可以在Startup里面调用,从而注册到ASP.NET Core服务容器里: ? 然后再次修改CountryRepository: ?

1.2K10

ASP.NET Core 2.1 建立规范 REST API -- 保护API和其它

这几种方案里Basic提供保护程度/级别最低, 而Negotiate最高/强. ASP.NET Core可选择认证提供商就很多了, 例如ASP.NET Core Identity....Base64字符串组合, 也是点(.)分开并进行了签名, 如下图: ?  ...下面我们需要一个可以生成JWT token节点, 针对本文我就在本项目里建立这个节点吧: ?...view=aspnetcore-2.1&tabs=visual-studio#require-https), 它建议ASP.NET Core web应用都应该调用HTTPS重定向中间件, 这样就可以把所有的...ASP.NET Core有一个第三方库Swashbuckle,它支持Swagger,但是只支持版本2,版本2有个重要缺陷就是不支持Action重载,之前HATEOAS文章里提到过我们需要使用这种重载

1.2K20

ASP.NET Core 2.0 建立规范 REST API -- DELETE, UPDATE, PATCH 和 Log

由于这种原因,PUT就比较少,不可能为了更新对象中一个属性而把对象所有的属性值都传递回去。 所以PATCH(局部更新)就应用比较广泛了。 PUT不具有安全性,因为每次执行PUT都会改变资源。...验证 为了进行输入验证(不验证输出),我们需要做以下三方面工作: 定义验证规则 检查验证规则 把验证错误信息发送给API消费者 之前文章也提到ASP.NET Core里面定义验证规则方式: Data...由于ASP.NET Core并没有内置帮助方法可以返回422和验证错误信息,所以我们先建立一个类用于返回 422 和验证错误信息,它继承于ObjectResult: ?...最后还要为ASP.NET Core配置FluentValidation,在StartupConfigureServices方法里: ?...支持ASP.NET Core第三方Log提供商有很多,NLog,Serilog等等。这里我使用Serilog(https://github.com/serilog/serilog)。

1.8K20

ASP.NET Core: 全新ASP.NET !

背景 最新版本 ASP.NET 叫做 ASP.NET Core (也被称为 ASP.NET 5)   它颠覆了过去 ASP.NET。 什么是 ASP.NET Core?...ASP.NET Core 1.0 是一个 ASP.NET 重构版本,它运行于最新 .NET Core。...ASP.NET Core 不再只依赖Visual Studio ASP.NET Core 跨平台,让它不再只依赖 Visual Studio,开发者和设计师们可以在自己喜欢环境上工作。...另外,ASP.NET Core 也会包含一个叫做 Kestrel Web 服务器,它建立在 libuv 上,主要用于 iOS 和 Linux 操作系统。...以上 ASP.NET Core 1.0 新特性和新概念介绍,是为了更好帮助我们使用 ASP.NET Core 进行开发,同时在开发过程中,我们还可以借助一些好工具来提高开发效率,并减少代码量,如

11.3K101

ASP.NET Core管道详解: ASP.NET Core应用是如何启动

我们知道ASP.NET Core应用请求处理管道是由一个IServer对象和IHttpApplication对象构成。...[本文节选自《ASP.NET Core 3框架揭秘》第13章, 更多关于ASP.NET Core文章请点这里] 目录 一、配置选项:GenericWebHostServiceOptions 二...CancellationToken cancellationToken); public Task StopAsync(CancellationToken cancellationToken); } 三、应用启动流程 由于ASP.NET...Core应用是由GenericWebHostService服务承载,所以启动应用程序本质上就是启动这个承载服务。...此后,服务器绑定到指定地址监听抵达请求,并为接收请求创建出对应HttpContext上下文,后续中间件将在这个上下文中完成各自对请求处理任务。

70931

ASP.NET Core管道深度剖析(4):管道是如何建立起来

在《管道是如何处理HTTP请求?》中,我们对ASP.NET Core请求处理管道构成以及它对请求处理流程进行了详细介绍,接下来我们需要了解是这样一个管道是如何被构建起来。...由于依赖注入被广泛应用到了ASP.NET Core请求处理管道中,对于前面三个对象,会先以服务形式注册到DI容器中,那么WebHost只需要利用ServiceProvider对象根据对应服务接口得到这三个对象...四、WebHostBuilder 作为应用宿主WebHost创建了ASP.NET Core请求处理管道,而WebHost又是由它工厂WebHostBuilder创建。...综上所述,我们已经对ASP.NET Core应用如何利用WebHostBuilder最终构建出请求处理管道流程以及管道自身处理请求流程具有了一定了解,现在我们来做一个简单总结。...上面所述所有内容都是针对我们自定义模拟管道来介绍,虽然我们对这个模拟管道做了极大简化,但是它依然体现了ASP.NET Core管道处理请求真实流程,而且真实管道创建方式也与模拟管道基本一致。

87960

ASP.NET Core构建可检测高可用服务--学习笔记

本次分享会讲解如何让 ASP .NET Core 应用与现代化云基础设施完美融合,提升服务可检测性,保障线上系统可用率。...服务可用性检测 服务性能测试 .NET Core 可检测性支持 日志框架(Logging) 诊断框架(Diagnostics) 健康检查框架(HealthChecks) .NET Core 日志框架...-- Microsoft.Extensions.Logging .NET Core 日志框架特性 .NET Core 日志框架适用场景 用户请求日志 异常日志记录 外部接口调用日志 复杂组件调试警告输出....NET Core 诊断框架特性 事件发布订阅设计模型 支持任意对象追踪 支持动态开关 支持监听筛选 .NET Core 诊断框架适用场景 日志组件无法满足需求时 期望对组件内部执行过程跟踪时...期望特定事件发生时,在外部修改组件对象 .NET Core 诊断框架应用案例 HttpClient MySql.Data CAP 组件 SkyWalking .NET ASP .NET Core 健康检查框架

60110

ASP.NET Core ServiceProvider

前言# 在 ASP.NET Core 中,微软提供了一套默认依赖注入实现,该实现对应包为:Microsoft.Extensions.DependencyInjection,我们可以通过查看其对应开源仓库看一下它具体实现...但是稍微有点工作经验朋友就会发现上述实现是有很多潜在问题。...,我们需要引入一个新集合,这个新集合是用于存储我们相应实例对象,在注册时候我们只记录注册类型,在需要访问到相应服务时,我们只需要在这个实例集合列表中访问,如果发现我们需要服务还未被实例化,那我们再进行实例化...对于哪种数据结构来存,我们可以采用多种数据结构,我这里仍然采用字典来存储,示例代码如下所示: Copy public class ServiceLocator : IServiceLocator {...,但是对于有参构造函数服务注册,我们定义 服务提供者就不满足,因为上述反射方式是不支持有参构造函数

1.8K20

asp.net core 系列】14 .net coreIOC

IOC描述是一种设计模式,而DI是一种行为。 2. 使用asp.net core默认IOC 在之前ASP.NET 框架中,微软并没有提供默认IOC支持。...在最新asp.net core中微软提供了一套IOC支持,该支持在命名空间: Microsoft.Extensions.DependencyInjection 里,在代码中引用即可。...AutoFac 使用 理论上,asp.net coreIOC已经足够好了,但是依旧原谅我贪婪。如果有二三百个业务类需要我来设置的话,我宁愿不使用IOC。因为那配置起来就是一场极其痛苦过程。...因为asp.net core 版本3更改了一些逻辑,AutoFac引用方式发生了改变,现在不介绍之前版本内容,以3为主。...总结 这一篇简单介绍了如何在Asp.net Core中启用IOC支持,并提供了两种方式,可以说是各有优劣。小伙伴们根据自己需要选择。后续会为大家详细深入AutoFac之类IOC框架核心秘密。

1.2K20

ASP.NET Core 实战:Linux 小白 .NET Core 部署之路

一、前言    最近一段时间自己主要学习计划还是按照毕业后设定计划,自己一步步搭建一个前后端分离 ASP.NET Core 项目,目前也还在继续学习 Vue 中,虽然中间断了很长时间,好歹还是坚持下来了...这两周重新拾起来学习 Vue,文章也在慢慢更新中,这一篇文章主要是想提前试试水将 ASP.NET Core 部署到 Linux Server 上,原本打算是把毕业设计就部署到 Linux 上,最终也未能成行...因为目前自己前后端分离项目还没开始写,所以这里采用还是自己原来写 .NET Core 项目,这篇文章主要目的是操作下如何将我们 ASP.NET Core 项目部署到我们 Linux 服务器上...3、发布部署程序   本次部署项目,采用还是之前毕业设计项目(ASP.NET Core 2.0 MVC 项目实战),在这里发布测试时候遇到了一个问题,因为当时项目采用 MySQL 版本为5.7...ASP.NET Core 提供动态内容。

2.5K10
领券