zoukankan      html  css  js  c++  java
  • C#中string类型必填的诡异问题

    背景

    ASP.NETCore3.0项目,使用Swagger接口文档。

    之前的项目都是Swashbuckle.AspNetCore-5.0.0

    新项目想尝尝鲜,用最新版Swashbuckle.AspNetCore-5.6.3

    目前发现的新变更就是返回结果示例值的颜色,不同数据类型是不同颜色

    环境

    接口

    一个Get请求的接口,使用FromQuery方式,定义的入参类去接收参数

    入参类

    string类型和long?

     

    问题复现

    Swagger请求

    返回400的错误。在模型绑定时就已经被拦截,根本没有运行到接口的非空验证。

    POSTMAN请求

    返回400的错误。在模型绑定时就已经被拦截,根本没有运行到接口的非空验证。

    原因

    猜测

    因为使用了最新的Swagger组件,愚以为是新版本的问题。

    真的,为有这种想法感到羞愧。

    实际问题

    因为上面的猜测,随将一个旧项目的Swagger从5.0.0升级到5.6.3,

    但是没有发生这样的问题,

    所以还是我使用的问题。

    因为是模型的问题,所以想会不会是项目属性的设置问题,

    遂,对比老项目和问题项目的项目属性。

    终于发现了问题所在:项目属性->生成->可以为null

     git提交差异

    最终结果

    项目属性->生成->可以为null : 禁用

    结语

    回想一下,好像是在配置【取消显示警告】时候,鼠标滚动了把这个配置修改掉了。

    淦,这都什么问题,折腾我半天。

  • 相关阅读:
    HDU 1800 Flying to the Mars 字典树,STL中的map ,哈希树
    字典树 HDU 1075 What Are You Talking About
    字典树 HDU 1251 统计难题
    最小生成树prim算法 POJ2031
    POJ 1287 Networking 最小生成树
    次小生成树 POJ 2728
    最短路N题Tram SPFA
    poj2236 并查集
    POJ 1611并查集
    Number Sequence
  • 原文地址:https://www.cnblogs.com/masonblog/p/14134075.html
Copyright © 2011-2022 走看看