[ https://issues.apache.org/jira/browse/CAMEL-20732?page=com.atlassian.jira.plugin.system.issuetabpanels:all-tabpanel ]
Claus Ibsen resolved CAMEL-20732. --------------------------------- Resolution: Fixed Thanks for reporting and the PR > RestDefinition does not properly handle array of primitives for` in/out types > ----------------------------------------------------------------------------- > > Key: CAMEL-20732 > URL: https://issues.apache.org/jira/browse/CAMEL-20732 > Project: Camel > Issue Type: Bug > Components: camel-core > Affects Versions: 4.4.2 > Reporter: Stefan Kalscheuer > Priority: Minor > Fix For: 4.4.3, 4.6.0 > > > This is likely a regression from CAMEL-15199 (since 3.5.0). > Using primitive array types as in/out type in REST route definition results > in invalid string representation of the actual type. > > *History* > Noticed on a project with Camel 4.4 including SpringDoc and a route with > outType "byte[]". > OpenAPI/Swagger output is completely broken (i.e. empty), apparently because > the type "null[]" is not resolvable. > The issue is still present in latest 4.6.0-SNAPSHOT and most likely since > 3.5.0 > > *Analysis* > The workaround code introduced in the referenced issue contains this branch: > {code:java} > if (!classType.isPrimitive()) { > if (classType.isArray()) { > type = StringHelper.between(classType.getName(), "[L", ";") + "[]"; > } else { > /* ...*/{code} > Because byte[].class.getName() returns "[B" there is nothing betwen "[L" and > ";", so the output is "null[]". > > *Example* > {code:java} > package my.example; > public class MyRoutes extends org.apache.camel.builder.RouteBuilder { > @Override > public void configure() throws Exception { > rest() > .get("/test") > .outType(byte[].class) > .produces("application/octet-stream") > .route() > .log("test me"); > } > } {code} > > *Workarounds* > Use boxed type, e.g. Byte[] (which correctly results in "java.lang.Byte[]") > or specify the type as String "byte[]" directly. > > *Solution* > The solution seems pretty straight forward here. I will submit a proposal -- This message was sent by Atlassian Jira (v8.20.10#820010)