当前位置: 首页 > 知识库问答 >
问题:

Spring Boot Open Api-不区分大小写?

莫宁
2023-03-14

我有以下问题:

我有一个具有请求主体的endpoint,如ContactRequest:

public class ContactRequest{
  private String message;
  private Object result;
}

但该endpoint由另一个具有大写JSON负载的服务调用:

{
  "Message": "Some text",
  "Result": "Resultsdsddwd"
}

我尝试在openapi.yml中使用模式,但我认为这不是解决我问题的正确方法,因为在代码中,我使用小写字段的ConrectRequest对象...

 ContactRequest:
      pattern: ^[A-Za-z\s_-]+$
      type: object
      required:
        - id
        - status
        - message

我的endpoint:

public CommandResponse save(
       ContactRequest contactRequest){
...
}

有人有类似的问题吗?我无法更改请求正文

另外,在OpenApi中可能有类似于@jsonaas的东西。yml生成器文件?

更新也许我应该使用全局设置来设置不区分大小写?

我的身材。渐变文件:

implementation group: 'org.openapitools', name: 'jackson-databind-nullable', version: '0.2.1'
    implementation group: 'org.modelmapper', name: 'modelmapper', version: '2.3.6'

共有1个答案

丁承德
2023-03-14

我认为,如果在您的情况下有效,您可以尝试此解决方案

@JsonNaming(PropertyNamingStrategy.LowerCaseStrategy.class)
public class ContactRequest{
  private String message;
  private Object result;
}

内置的策略有:烤肉串、下盒、蛇盒、上盒

https://www.baeldung.com/jackson-advanced-annotations

 类似资料:
  • 对于报告(0.1%的所有查询),我需要返回一个所有可能类别的列表,区分大小写! 考虑以下文件: 运行以下查询: 返回: 是否有方法返回区分大小写的类别(存储在文档中)?我对此查询结果中的感兴趣。 Elasticsearch论坛中的问题 谢谢,伊泰

  • 问题内容: 我想按不区分名称的名称搜索用户表中的数据。 我收到一个错误: 意外令牌:% 。我应该在哪里放置“%”? 问题答案: 您可以使用concat运算符: 或使用命名参数: (使用Spring Boot 1.4.3测试)

  • 问题内容: 我有一个充满小写和大写数据的json。例如 : 而且我有类似的东西: 我想做的是搜索朋友,而不用看大写和小写。因此,基本上,当我在输入中键入“ John”,“ JOHN”或简单地输入“ john”时,它应该返回我的朋友John。 那么是否可以将不区分大小写的选项应用于过滤器? 问题答案: 将您在使用字符串的toLowerCase的适用范围内定义的函数名称传递给您。参见ngFilter。

  • 本文向大家介绍Fortran 不区分大小写,包括了Fortran 不区分大小写的使用技巧和注意事项,需要的朋友参考一下 示例 在Fortran字符集中,字母的大写和小写字母是等效的。换句话说,Fortran不区分大小写。此行为与区分大小写的语言(例如C ++和许多其他语言)形成对比。 结果,变量a和A是相同的变量。原则上可以编写如下程序 对于优秀的程序员来说,要避免这种丑陋的选择。

  • 问题内容: 我有一个Lucene索引,该索引当前区分大小写。我想添加的 选项 有不区分大小写作为后备的。这意味着与案例匹配的结果将获得更大的权重,并且将首先出现。例如,如果结果数限制为10,并且有10个匹配项符合我的情况,那就足够了。如果仅找到7个结果,则可以从不区分大小写的搜索中再添加3个结果。 我的案子实际上更复杂,因为我有不同重量的物品。理想情况下,匹配“错误”的表壳会增加一些重量。不用说,

  • 问题内容: 我正在尝试提出一个要求区分大小写的结果的请求。 例如在我的数据库中 该请求是 但我有3行作为结果,我只想要abcdef 我试图找到一个解决方案 但是我有这个错误: 未知归类:’Latin1_General_CS_AS’{“成功”:false,“错误”:“#1273-未知归类:’Latin1_General_CS_AS’”} 谢谢 问题答案: 感谢您的帮助,我找到了不是latin1 ut

  • 问题内容: 我无法弄清楚为什么我的搜索区分大小写。我读过的所有内容都说ES默认情况下不敏感。我有一些映射,它们指定用于索引和搜索的标准分析器,但似乎有些东西还是区分大小写的,即通配符: 这失败了,但是“ rae *”可以按需工作。我需要使用通配符来进行“开始于”类型的搜索(我想)。 我正在从.Net应用程序中使用NEST,并在创建索引时指定分析器,因此: 在这种情况下,它使用的是简单分析仪,但标准