首页
学习
活动
专区
圈层
工具
发布

一个值得深思的小问题 - 请求中的参数值为空要不要携带该参数?

咱们就来聊聊这件"小事儿",大家可以看看自己内部是怎么做的。 咱们都是搞前端的,所以和后端打交道最多的就是调用后端接口获取数据,每个公司应该也都有自己的接口规范,传参规范等。...我这朋友的问题是这样的,前端请求接口,带过去了一些参数,但是其中有个参数没值,也就是空,但是呢后端在接收该值的时候没有类型判断(该字段是int类型),相当于直接把一个空字符串直接转为int类型。...比如,请求参数如下 name=bigerfe&age=&a=1 其中参数age是int类型,但是前端传了空,后端取参数的时候报错了。...然后要出一个传参规范,声明string类型的字段如果值为空串的,请求的时候就不要携带该参数。其他类型的会给一个默认值。...接口规范中为每个字段说明其类型,并且给出默认值 服务端做统一的类型验证,不符合的直接给出错误码 那是被什么样的问题给拍回去了呢? 如果这个字段是必填的,而且是空串,那这个字段可以带吗?

3.7K20

详解Net Core Web Api项目与在NginX下发布

(Get方法名是可以修改的,因为一个WebApi里只支持一个Get请求,所以只要方法加了HttpGet特性,就会被视为默认的Get方法) Get请求里实现了一个实体集合的组件,即请求该Controller...依赖注入 这里简单介绍一下NetCore提供的依赖注入。 上文中提到的,框架调用Controller时,提供了一个入参—ILogger对象,这种行为就是依赖注入。...而这种为Controller提供的入参行为,在NetCore中是可以自定义增加;现在我们简单的增加一个对象。...在界面中选择文件夹,然后在选择文件夹文本框中输入发布路径。 然后点击高级,弹出高级配置界面,如下图: ? 修改配置中的部署模式为【独立】,目标运行时为【win-x64】(因为我的测试机是X64的)。...上文中,我们的WebApi项目监听的是5180端口,而NginX启动后默认监听的是80端口;也就是说,我们需要在NginX的配置文件中,将80端口监听到的消息,转发到5180端口上。

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

    即时通讯组件---ImCore

    前言 ImCore 是一款 .NETCore 下利用 WebSocket 实现的简易、高性能、集群即时通讯组件,支持点对点通讯、群聊通讯、上线下线事件消息等众多实用性功能。...Html5终端 本方案支持集群分区,前端连接 websocket 前,应该先请求 webApi 获得地址(ImHelper.PrevConnectServer)。...用户A向好友B发送消息,分析一下: 需要判断B是否为A好友; 需要判断A是否有权限; 等等。。...用户A向好友B发送消息:客户端请求业务方(webApi)接口,由业务方(webApi)后端向imServer发起推送请求,imServer收到指令后,向前端用户B的websocket发送数据,用户B收到了消息...获取历史消息:客户端请求业务方(webApi)接口,返回json(历史消息) 回执:用户A如何知道消息发送状态(成功或失败或不在线)?

    7.7K40

    Asp.NetCore Web开发之创建项目

    这一节,讲一下如何创建一个Asp.netCore Web项目,有两种常用的方式,一种是通过.NetCore SDK使用命令创建,另一种如果你使用的VisualStudio,可以直接根据引导创建。...安装完成以后,选择一个合适的文件夹(一定要是空的),在路径框中键入cmd,打开命令行 在命令行中键入 dotnet new mvc 回车,这时SDK会自动工作帮你创建一个MVC模板,或者如果你想创建...web api程序,就键入dotnet new webapi 。...这样一个完好的代码框架就生成好了。 下面来看一下,如何使用VisualStudio创建一个Asp.netCore Web项目。...你会看到很多模板,最常用的就是红框中的三项,下面以第三项MVC为例进行创建。 创建完成,你会在解决方案浏览框看到新建的MVC项目文件。

    1.2K20

    为什么我要推荐你使用Core WebApi?

    作为分布式实施的基础,跨进程通信的技术也是五花八门,为什么Core WebApi越来越火,被众多大牛们一直推荐?小编这就为你一一解答!...03 远程调用模式 远程调用模式,包括FX下的RPC和.NetCore下的gRPC,有使用限制和优异的性能。大部分的开发者和项目选型中,第二类是最为广泛的。下文对gRPC和WebApi有细致比对。...Core WebApi的变化 WebApi刚出来时,大家都非常兴奋,终于有原生的RESTful API了,但实践中却发现太多槽点,跟MVC框架同项目不同管道,鉴权授权参数绑定也很不友好,让学习者苦不堪言...然而,这个在Core WebApi得到了转变,和Asp.NetCore管道的统一,让大家开发和学习成本都降低了,再加上跨平台的优势,和全新中间件模式加成,毫不客气地说,CoreWebApi已经成为当下服务的首选...DAY2 内置IOC容器和middleware翻翻源码理解一下,知道请求是怎么处理怎么流转的,后面功能开发时才心里有底(面试也轻松)。

    1.7K20

    使用DOT语言和GraphvizOnline来可视化你的ASP.NETCore3.0终结点01

    使用有向图来可视化ASP.NET Core终结点 ASP.NETCore中的终结点路由系统通过创建端点URL段的有向图来有效地工作。然后将传入的请求与图进行匹配(一次一个段),以确定要执行的终结点。...ASP.NET Core WebAPI应用程序生成了一个更有趣的图表。例如,下面显示的ASP.NET Core 2.0默认模板中包含的ValuesController。...在这个图中还有很多事情要做,因为我们现在有了可变的路由参数值(路由模板中的{id},在图中显示为{...})和HTTP动词约束(GET/PUT/POST等等) 当我第一次看到这个图表时,我很难理解它。...图中的每个节点都与给定的“深度”相关联。这是应该已经匹配的URL段数。例如,/api/Values/节点的深度为2-它要求空段/和/api段已经匹配。...然后,我展示了如何将ASP.NETCore 3.x应用程序中的端点路由表示为有向图。我描述了端点图中不同节点和边缘之间的差异,并调整了图形的显示以更好地表示这些差异。

    2.9K30

    netcore跨平台之 Linux配置nginx负载均衡

    前面两章讲了netcore在linux上部署以及配置nginx,并让nginx代理webapi。 这一章主要讲如何配置负载均衡,有些步骤在前两章讲的很详细了,所以这一章我就不会一个个截图了。...,netcore是我第一章建立的,netcore1是新建的, 你把你新的发布包放在netcore即可。...最后检查并重启nginx /usr/local/nginx/sbin/nginx -t /usr/local/nginx/sbin/nginx -s reload 最后不要忘记把你的8888端口的webapi...这里我务必要提醒你,请进入到你的程序的目录中执行这段代码, cd /root/netcore1 dotnet WebApiTest.dll --server.urls "http://*:8888"...1)、轮询 ——轮流处理请求(这是系统默认的) 每个请求按时间顺序逐一分配到不同的应用服务器,如果应用服务器down掉,自动剔除它,剩下的继续轮询,如果您的服务器都差不多,建议这个。

    97310

    Windows下docker的安装,将ASP.NET Core程序部署在docker中

    好吧如果你实在懒得查询的话我可以直接给你发一个百度连接:https://jingyan.baidu.com/article/15622f24017461fdfdbea554.html 直到任务管理器中的虚拟化显示开启表示成功...第二步:创建一个webapi程序 当然你可以在vs中或者随便哪里创建一个,然后将程序发布 第三步:创建Dockerfile文件 在webapi的根目录下创建一个文本文档..."] 这里解释下部分参数 第1行:代表程序的镜像需要依赖哪个镜像 :latest 表示镜像版本为最新的 第2行:将你的程序文件夹拷贝到 镜像的app目录下 最后一行:NetCore.dll...是你的api的dll名称 编辑完成之后记得将文件的后缀名去掉 第三部:创建镜像 进入power shell界面 cd命令切换到webapi的根目录 执行命令: docker build -...关于镜像的下载速度 拉了一个netcore 镜像用了两个小时,这个速度我也是醉了。

    3.7K60

    动手实现一个适用于.NET Core 的诊断工具

    的代码,在控制器中的方法中创建了一个集合,并且添加了很多数据。...修改完成后,我们先启动 WebApi 项目,然后在ConsoleApp中先运行 dotnet run ps,查看webapi的进程id,然后再运行 dotnet run runtime 13600, 最后我们通过...curl 命令或者浏览器访问webapi的接口,同样,在右边的ConsoleApp中,输出了异常的相关事件信息。...生成Dump文件 通过 Microsoft.Diagnostics.NETCore.Client 组件,我们可以很方便的为程序生生成Dump文件,然后可以用 windbg 工具来进行分析。...总结 其实在.NET Core CLI 中,已经提供了高度可用的一系列诊断工具,dotnet-trace,dotnet-dump 等等,Microsoft.Diagnostics.NETCore.Client

    79240

    跨语言调用Hangfire定时作业服务

    但令人遗憾的是普遍都是业务代码和hagnfire服务本身聚合在一个程序中运行,极大的限制了hangfire的扩展和跨语言调用。...所以萌生了开发一个支持restful api调用的sdk库 本来打算简单的建立webapi,内部再调用hangfire,但是一想实在不优雅,组件就应该尽量聚合在一个库的中,偶然找到了一个已经开发了支持restfull...api的hangfire组件,github地址=>Hangfire.Jobgithub链接 看了下源码,调用了hangfire公开的接口获取请求路由信息,然后去hangfire去执行。...但是调用方要通过http请求,不是很方便,所以扩展了一个Chaunce.Hangfire.Clientgithubl链接 的C# sdk来调用hangfire。...;database={你想让hangfire生成的数据库名称};uid=sa;pwd=111111" }, 之后在数据库建立与ppsettings.json中数据库名称一致的数据库。

    1K10

    Identity Server4学习系列一

    IOS、Android等等设备调用,所以没有安全一说. (2)、Web应用程序(可能是本地的,也可能是远程的)与WebAPI通信(有时是自己的,有时代表用户)。...,意味着所有知道你接口的应用程序都能调用.这个时候你必须考虑安全问题 (3)、WebApi与WebApi之间的调用,一般用于规模较大的网站,因为当一个站点达到一定规模,势必要对业务进行拆分,将不同的业务通过...3、Identity Server4 (1)、简介 Identity Server4是一种中间件,它将符合规范的OpenIDConnect和OAuth2.0端点添加到任意ASP.NETCore应用程序中...也就是说你的移动端、本地应用程序只要符合OpenIDConnect和OAuth2.0协议,且你的ASP.NETCore应用程序也符合,那么他们之间就能进行交互. (2)、实现认证的方式 ?...,通过将你的访问令牌(并遵循通OAuth2.0协议,向请求中添加一些必要信息,并进行数据加加密等操作))的同时将你的令牌转发给Api,通过那么就可以正常访问Api。

    1.3K30

    CentOS 7部署ASP.NET Core应用程序

    暂时还没有安装VMware Tools,直接在虚拟机中编(复)写(制)命令多有不便,这里可以通过连接工具PuTTY在Window系统中连接虚拟机中的CentOS系统,连接服务器也同样适用。...问:怎么知道虚拟机中CentOS系统的IP地址呢? 答:可以通过ifconfig命令来获取系统的IP地址。...创建进程配置加载目录: mkdir /etc/supervisor/conf.d 接下来就需要为我们已经部署的ASP .NET Core程序的宿主进程创建一个进程配置文件netcore.conf,保存并上传到...配置文件netcore.conf内容如下: [program:Scorpio.WebApi] ;自定义进程名称 command=dotnet Scorpio.WebApi.dll...ASPNETCORE_ENVIRONMENT=Production ;进程环境变量 stopsignal=INT ;请求停止时用来杀死程序的信号

    2.9K21

    Abp小试牛刀之 图片上传

    [确定]: 发起持久化WebAPI(利用第2步返回的图片Id) 为什么强调支持集群部署? 就这个功能而言,[上传预览]和[确定保存]是两次Http WebAPI请求。...如果服务端使用的是进程内缓存:在集群环境,前后两次请求有可能打到不同的App服务,后置的[确定保存]WebAPI因此可能报错, 此处需要做 [会话亲和性] Session affinity 实践 利用Abp...以上两段文字来自 Abp和ASP.NET Core官方文档: Abp默认的IDistributedCache实现是分布式内存缓存; ASP.NETCore 分布式内存缓存是框架内置的,是一个假的分布式缓存...的请求为一个会话。...K8S nginx-ingress 注解nginx.ingress.kubernetes.io/affinity在入口的所有上游中启用和设置亲和性类型。 这样,请求将总是被定向到相同的上游服务器。

    1.4K00

    .NET Core.NET5.NET6 开源项目汇总5:(权限)管理系统项目

    如果表述不恰当的地方,请及时告知我,谢谢。 8、Vue.NETCore Vue + .NetCore 是一套前后端分离,支持对前端、后台基础业务代码扩展的快速发开框架。...这个框架使用最新稳定版的.NetCore SDK(当前是.NET Core 3.0),对 AspNetCore 的配置、依赖注入、日志、缓存、实体框架、Mvc(WebApi)、身份认证、权限授权等模块进行更高一级的自动化封装...,并规范了一套业务实现的代码结构与操作流程,使 .Net Core 框架更易于应用到实际项目开发中。...OpenAuth.Pro企业版 采用WebAPI+Vue的前后端完全分离模式,后端基于OpenAuth.Core WebAPI接口。前端SPA单页面模式,基于Vue全家桶。...,前台系统模板工程为 Bootstrap.Client 项目原始出发点是把权限系统从业务系统中剥离出来,项目开发专注于功能,详细配置说明请点击 查看文档 主要功能 通过配置与前台网站集成 构建前台系统分层级菜单

    5.1K31

    Asp.NET Core 轻松学-项目目录和文件作用介绍

    前言     上一章介绍了 Asp.Net Core 的前世今生,并创建了一个控制台项目编译并运行成功,本章的内容介绍 .NETCore 的各种常用命令、Asp.Net Core MVC 项目文件目录等信息...创建项目的命令     首先来认识一下创建项目可使用的各种命令,.NETCore 的命令都以 dotnet 打头,这很好理解,输入 dotnet xxx,就是执行环境变量指向的 C:\Program Files...tabs=netcore21 最最常用的命令有 4 个,这些命令需要在项目根目录执行 1....SDK 版本为 netcoreapp2.1,配置节点 ItemGroup 包含了项目引用的 Nuget 包,如有新的包引用,可以加入该 ItemGroup 配置节 8.Program.cs 文件,程序运行主入口...,Main 方法所在 9.Startup.cs 该文件是默认文件,不可随意删除,在此文件中可以以包含服务配置、定义请求处理管道的重要操作。

    3.6K10

    WebApiClient基础

    本章节为了方便读者的理解,相关例子将使用HttpApiClient静态类来创建http接口的代理类,但在生产环境中,使用HttpApiFactory静态来创建http接口的代理类更合理,也是非常有必要的...、FormUrlEncodedContent等等,则可以直接做为参数,但是必须放在其它参数的前面: 4 PATCH请求 json patch是为客户端能够局部更新服务端已存在的资源而设计的一种标准交互,...使用HTTP PATCH请求方法; 2. 请求body为描述多个opration的数据json内容; 3....6.1 参数值的验证 [HttpGet("webapi/user/GetById/{id}")] ITask GetByIdAsync( [Required...6.3 两者同时验证 对于上节的例子,如果我们希望user参数值也不能为null,可以如下声明方法: [HttpPut("webapi/user/UpdateWithJson")] ITask<UserInfo

    3K00
    领券