首页
学习
活动
专区
圈层
工具
发布
社区首页 >问答首页 >我可以禁止OpenAPI在接口中生成的默认Optional<NativeWebRequest> getRequest()吗?

我可以禁止OpenAPI在接口中生成的默认Optional<NativeWebRequest> getRequest()吗?
EN

Stack Overflow用户
提问于 2019-10-09 22:21:01
回答 1查看 526关注 0票数 0

我有一个OpenAPI 3.0文件,它指定了两个带有操作的REST资源,假设:

代码语言:javascript
复制
openapi: 3.0.0
[...]
paths:
  /a:
    post:
      [...]
  /b
    post:
      [...]

然后我像这样使用openapi-generator-maven-plugin

代码语言:javascript
复制
<plugin>
  <groupId>org.openapitools</groupId>
  <artifactId>openapi-generator-maven-plugin</artifactId>
  <version>4.1.2</version>
  <configuration>
    [...]
    <configOptions>
      <interfaceOnly>true</interfaceOnly>
      [...]
    </configOptions>
 </configuration>
</plugin>

要生成Java接口,请执行以下操作:

代码语言:javascript
复制
public interface AApi {

  default Optional<NativeWebRequest> getRequest() {
    return Optional.empty();
  }

  default ResponseEntity<String> postA([...]) { [...] }

}

public interface BApi {

  default Optional<NativeWebRequest> getRequest() {
    return Optional.empty();
  }

  default ResponseEntity<String> postB([...]) { [...] }

}    

最后,我想编写一个实现这两个接口的类:

代码语言:javascript
复制
class TheController implements AApi, BApi { [...] }

但是,getRequest()方法遇到了障碍,因为它不能继承两个同名的默认实现。

有没有办法抑制这个方法的生成呢?(或者其他实现这两个接口的方法,我还没有想到吗?)

EN

回答 1

Stack Overflow用户

回答已采纳

发布于 2019-12-19 06:02:54

您可以覆盖实现控制器类中的getRequest()方法。

欲了解更多信息,请参阅https://docs.oracle.com/javase/specs/jls/se7/html/jls-8.html#jls-8.4.8.4

票数 1
EN
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/58306313

复制
相关文章

相似问题

领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档