我有兩個稱為 (Common和ApiGateway) 的專案。常見的是 Gradle java 專案,ApiGateway 是 Micronaut java 應用程式。在 common 專案中,我保留了所有常見的東西并將 jar 參考到 Apigateway 專案。
共同專案
下面的代碼是用./gradlew build
@Validated
public interface IProductOperation {
@Get(value = "/search/{text}")
@Secured(SecurityRule.IS_ANONYMOUS)
Flux<?> freeTextSearch(@NotBlank String text);
@Get(value = "/{?searchCriteria*}")
@Secured(SecurityRule.IS_ANONYMOUS)
Mono<?> find(FilterProductModel searchCriteria);
}
API網關實作了普通專案中的IProductOperation介面。當我導航到代碼庫時,我可以看到生成了以下代碼
@Validated
public interface IProductOperation {
@Get("/search/{text}")
@Secured({"isAnonymous()"})
Flux<?> freeTextSearch(@NotBlank String var1);
@Get("/{?searchCriteria*}")
@Secured({"isAnonymous()"})
Mono<?> find(FilterProductModel var1);
}
現在,當我編譯Apigateway專案的第二個應用程式時,我得到一個例外,The route declares a uri variable named [text], but no corresponding method argument is present因為它的引數freeTextSearch()和find()方法更改為var1.
我在公共專案中有以下依賴項
dependencies {
annotationProcessor "io.micronaut:micronaut-inject-java:3.5.0"
annotationProcessor "io.micronaut:micronaut-validation:3.5.0"
implementation('io.swagger.core.v3:swagger-annotations:2.2.0')
implementation 'io.micronaut:micronaut-core:3.5.0'
implementation "io.micronaut:micronaut-inject:3.5.0"
implementation 'io.micronaut:micronaut-validation:3.5.0'
implementation ('io.micronaut.reactor:micronaut-reactor:2.2.2')
implementation("io.micronaut.security:micronaut-security-jwt:3.6.0")
}
我已經構建了應用程式并發布到本地 mavel。
uj5u.com熱心網友回復:
該檔案有一個關于保留引數名稱的部分https://docs.micronaut.io/latest/guide/#retainparameternames
轉載請註明出處,本文鏈接:https://www.uj5u.com/net/481264.html
標籤:爪哇 毕业典礼 构建.gradle 微型宇航员 微型宇航员休息
上一篇:在Google表格中將2D范圍轉換為帶有空格的1D陣列
下一篇:獲取SpringBoot[2.7.0]isnotcompatiblewiththisSpringCloudreleasetrain錯誤
