apache / apache/servicecomb-java-chassis
使用@path@post注解时,请求参数中存在Boolean类型时会把Boolean类型识别为Body
- Lenguaje dominante
- Java
- Estrellas
- 1.9k
- Forks
- 814
- Merge medio
- 8 d 23 h
- PR fusionados (30 d)
- 1
Descripción
bool值isSync、isGray定义在IntentRequestHeaders 实体类中
```
public CompletableFuture executeSkill(
@BeanParam @NotNull IntentRequestHeaders intentRequestHeaders,
@RequestBody @NotNull IntentRequest intentRequest) {}
```
```
@HeaderParam("x-is-sync")
private Boolean isSync;
@HeaderParam("x-is-gray")
private Boolean isGray;
```
报错信息:
_java.lang.IllegalStateException: defined 3 body parameter.
at org.apache.servicecomb.swagger.generator.core.AbstractOperationGenerator.initParameterGenerators(AbstractOperationGenerator.java:222)
at org.apache.servicecomb.swagger.generator.core.AbstractOperationGenerator.scanMethodParameters(AbstractOperationGenerator.java:192)
at org.apache.servicecomb.swagger.generator.core.AbstractOperationGenerator.generate(AbstractOperationGenerator.java:152)
at org.apache.servicecomb.swagger.generator.core.AbstractSwaggerGenerator.scanMethods(AbstractSwaggerGenerator.java:297)_
Guía de contribución
No hay ninguna guía de contribución indexada para este repositorio
Línea de trabajo
Comienza con AbstractOperationGenerator.java, especialmente con initParameterGenerators, scanMethodParameters y generate, y luego sigue cómo se clasifican los campos @BeanParam, @RequestBody y Boolean @HeaderParam para el método executeSkill mostrado. Reproduce el fallo de generación de Swagger y verifica que los dos parámetros de cabecera no se cuenten como parámetros de cuerpo y ya no produzcan la excepción definida de 3 parámetros de cuerpo.
Escrito por el modelo de indexación a partir del texto del issue.
Evaluación
- Stack tecnológico
- java
- Área
- api, backend-api-design
- Tipo de issue
- Error
- Dificultad
- 4/5
- Tiempo estimado
- 3-5 días
- Estado de actividad
- Estancado
- Claridad
- Bastante claro
- Aptitud para principiantes
- 35/100