File tree Expand file tree Collapse file tree 4 files changed +121
-1
lines changed
springdoc-openapi-kotlin/src
main/java/org/springdoc/kotlin
kotlin/test/org/springdoc/api/app6 Expand file tree Collapse file tree 4 files changed +121
-1
lines changed Original file line number Diff line number Diff line change 23
23
package org .springdoc .kotlin ;
24
24
25
25
import com .fasterxml .jackson .module .kotlin .KotlinModule ;
26
+ import io .swagger .v3 .oas .models .media .ByteArraySchema ;
26
27
import kotlin .Deprecated ;
27
28
import kotlin .coroutines .Continuation ;
29
+ import kotlin .jvm .internal .Intrinsics ;
28
30
import org .springdoc .core .providers .ObjectMapperProvider ;
29
31
30
32
import org .springframework .boot .autoconfigure .condition .ConditionalOnMissingBean ;
@@ -51,7 +53,9 @@ public class SpringDocKotlinConfiguration {
51
53
* @param objectMapperProvider the object mapper provider
52
54
*/
53
55
public SpringDocKotlinConfiguration (ObjectMapperProvider objectMapperProvider ) {
54
- getConfig ().addRequestWrapperToIgnore (Continuation .class )
56
+ getConfig ()
57
+ .addRequestWrapperToIgnore (Continuation .class )
58
+ .replaceWithSchema (byte [].class , new ByteArraySchema ())
55
59
.addDeprecatedType (Deprecated .class );
56
60
objectMapperProvider .jsonMapper ().registerModule ( new KotlinModule .Builder ().build ());
57
61
}
Original file line number Diff line number Diff line change
1
+ /*
2
+ *
3
+ * * Copyright 2019-2022 the original author or authors.
4
+ * *
5
+ * * Licensed under the Apache License, Version 2.0 (the "License");
6
+ * * you may not use this file except in compliance with the License.
7
+ * * You may obtain a copy of the License at
8
+ * *
9
+ * * https://www.apache.org/licenses/LICENSE-2.0
10
+ * *
11
+ * * Unless required by applicable law or agreed to in writing, software
12
+ * * distributed under the License is distributed on an "AS IS" BASIS,
13
+ * * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
14
+ * * See the License for the specific language governing permissions and
15
+ * * limitations under the License.
16
+ *
17
+ */
18
+
19
+ package test.org.springdoc.api.app6
20
+
21
+ import org.springframework.web.bind.annotation.GetMapping
22
+ import org.springframework.web.bind.annotation.RequestMapping
23
+ import org.springframework.web.bind.annotation.RestController
24
+
25
+ data class Foo (val data : ByteArray )
26
+
27
+ @RestController
28
+ @RequestMapping(" /bytearray" )
29
+ class ByteArrayController {
30
+
31
+ @GetMapping(" /" )
32
+ fun getByteArray (): Foo = Foo (byteArrayOf(0 ))
33
+
34
+ }
Original file line number Diff line number Diff line change
1
+ /*
2
+ *
3
+ * * Copyright 2019-2020 the original author or authors.
4
+ * *
5
+ * * Licensed under the Apache License, Version 2.0 (the "License");
6
+ * * you may not use this file except in compliance with the License.
7
+ * * You may obtain a copy of the License at
8
+ * *
9
+ * * https://www.apache.org/licenses/LICENSE-2.0
10
+ * *
11
+ * * Unless required by applicable law or agreed to in writing, software
12
+ * * distributed under the License is distributed on an "AS IS" BASIS,
13
+ * * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
14
+ * * See the License for the specific language governing permissions and
15
+ * * limitations under the License.
16
+ *
17
+ */
18
+
19
+ package test.org.springdoc.api.app6
20
+
21
+ import org.springframework.boot.autoconfigure.SpringBootApplication
22
+ import org.springframework.context.annotation.ComponentScan
23
+ import test.org.springdoc.api.AbstractKotlinSpringDocTest
24
+
25
+ class SpringDocApp6Test : AbstractKotlinSpringDocTest () {
26
+
27
+ @SpringBootApplication
28
+ @ComponentScan(basePackages = [" org.springdoc" , " test.org.springdoc.api.app6" ])
29
+ open class DemoApplication
30
+
31
+ }
Original file line number Diff line number Diff line change
1
+ {
2
+ "openapi" : " 3.0.1" ,
3
+ "info" : {
4
+ "title" : " OpenAPI definition" ,
5
+ "version" : " v0"
6
+ },
7
+ "servers" : [
8
+ {
9
+ "url" : " " ,
10
+ "description" : " Generated server url"
11
+ }
12
+ ],
13
+ "paths" : {
14
+ "/bytearray/" : {
15
+ "get" : {
16
+ "tags" : [
17
+ " byte-array-controller"
18
+ ],
19
+ "operationId" : " getByteArray" ,
20
+ "responses" : {
21
+ "200" : {
22
+ "description" : " OK" ,
23
+ "content" : {
24
+ "*/*" : {
25
+ "schema" : {
26
+ "$ref" : " #/components/schemas/Foo"
27
+ }
28
+ }
29
+ }
30
+ }
31
+ }
32
+ }
33
+ }
34
+ },
35
+ "components" : {
36
+ "schemas" : {
37
+ "Foo" : {
38
+ "required" : [
39
+ " data"
40
+ ],
41
+ "type" : " object" ,
42
+ "properties" : {
43
+ "data" : {
44
+ "type" : " string" ,
45
+ "format" : " byte"
46
+ }
47
+ }
48
+ }
49
+ }
50
+ }
51
+ }
You can’t perform that action at this time.
0 commit comments