Quarkus 3.9 возвращает объект с кодом ответаJAVA

Программисты JAVA общаются здесь
Ответить
Anonymous
 Quarkus 3.9 возвращает объект с кодом ответа

Сообщение Anonymous »

Я разрабатываю приложение по принципу Contract First.
один из моих путей:
/game/init:
post:
requestBody:
required: true
content:
application/json:
schema:
$ref: '#/components/schemas/initGame'
tags:
- Game
summary: Initialize a game
description: Initialize a game
operationId: initializeGame
responses:
'201':
description: Game was created
content:
text/plain:
schema:
$ref: '#/components/schemas/gameIdentifier'

Как видите, я хочу вернуть здесь HTTP 201, чтобы указать, что игра была инициализирована.
Это генерируется для
@Path("/game/init")

@jakarta.annotation.Generated(value = "org.openapitools.codegen.languages.JavaJAXRSSpecServerCodegen", date = "2024-05-17T14:16:48.789874400+02:00[Europe/Brussels]")
public interface GameApi {
/**
* Initialize a game
*
* @param initGame
* @return Game was created - 201

*/

@ResponseStatus(201)
@POST
@Consumes({ "application/json" })
@Produces({ "text/plain" })
Long initializeGame(@Valid @NotNull InitGame initGame);
}

это интерфейс, который я реализую в другом месте.
из-за проблемы с RestEasy (https://github.com/quarkusio/quarkus/issues/30170) я' Я пытался адаптировать шаблоны усов, включив в них @ResponseStatus(201), так как по умолчанию для него не было создано кода.
Это не влияет на мое приложение и по-прежнему возвращает 200.
Я дополнительно пробовал использовать RestResponse и Response, что приводит к тому, что ResteasyProviderFactoryImpl невозможно привести к классу org.jboss.resteasy.reactive.common.jaxrs.RuntimeDelegateImpl
Что мне не удалось решить.
Похоже, я делаю что-то ужасно неправильное, поскольку такая центральная функциональность не должна быть такой сложной.
Для полноты картины я также включу сюда свой помпон:


4.0.0
company
battleship
1.0-SNAPSHOT


3.12.1
21
UTF-8
UTF-8
quarkus-bom
io.quarkus.platform
3.9.5
true
3.2.5





${quarkus.platform.group-id}
${quarkus.platform.artifact-id}
${quarkus.platform.version}
pom
import






io.quarkus
quarkus-hibernate-orm


io.quarkus
quarkus-resteasy-jackson


io.quarkus
quarkus-arc


io.quarkus
quarkus-resteasy


io.quarkus
quarkus-junit5
test


io.rest-assured
rest-assured
test


io.swagger.parser.v3
swagger-parser
2.1.20


org.openapitools
jackson-databind-nullable
0.2.6


io.quarkus.resteasy.reactive
resteasy-reactive-common
3.9.5


io.quarkus.resteasy.reactive
resteasy-reactive
3.9.5



io.quarkus
quarkus-flyway



io.quarkus
quarkus-jdbc-postgresql


de.mkammerer.snowflake-id
snowflake-id
0.0.2



org.assertj
assertj-core
3.25.3
test






${quarkus.platform.group-id}
quarkus-maven-plugin
${quarkus.platform.version}
true



build
generate-code
generate-code-tests





maven-compiler-plugin
${compiler-plugin.version}


-parameters




maven-surefire-plugin
${surefire-plugin.version}


org.jboss.logmanager.LogManager
${maven.home}




maven-failsafe-plugin
${surefire-plugin.version}



integration-test
verify





${project.build.directory}/${project.build.finalName}-runner
org.jboss.logmanager.LogManager
${maven.home}




org.openapitools
openapi-generator-maven-plugin
7.3.0



generate


${project.basedir}/src/main/resources/openapi/battleship.yml
jaxrs-spec

${project.basedir}/src/main/resources/openapi-templates


java8
false

true
true
true

company.api
company.beans
false
false
false
false
false
false






org.codehaus.mojo
build-helper-maven-plugin
3.5.0


generate-sources

add-source



${project.build.directory}/generated-sources/openapi/src/gen/java










native


native



false
native







Подробнее здесь: https://stackoverflow.com/questions/784 ... ponse-code
Ответить

Быстрый ответ

Изменение регистра текста: 
Смайлики
:) :( :oops: :roll: :wink: :muza: :clever: :sorry: :angel: :read: *x)
Ещё смайлики…
   
К этому ответу прикреплено по крайней мере одно вложение.

Если вы не хотите добавлять вложения, оставьте поля пустыми.

Максимально разрешённый размер вложения: 15 МБ.

Вернуться в «JAVA»