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 : 禁用

    结语

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

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

  • 相关阅读:
    解决:TypeError: object() takes no parameters
    刷题(三)
    刷题(二)
    web自动化流程总结
    不能在Python Console中运行pytest
    关于pytest的一些问题
    UML设计,可以设计程序的用例图、类图、活动图等_SurfaceView
    android系统下消息推送机制
    Android中的动画,选择器,样式和主题的使用
    内存监测工具 DDMS --> Heap
  • 原文地址:https://www.cnblogs.com/masonblog/p/14134075.html
Copyright © 2011-2022 走看看