Skip to content

Commit 2e88a3d

Browse files
committed
docs: Add a sentence in the responses section
1 parent 0228b22 commit 2e88a3d

File tree

4 files changed

+30
-30
lines changed

4 files changed

+30
-30
lines changed

README.md

+2
Original file line numberDiff line numberDiff line change
@@ -146,6 +146,7 @@ fun Route.ordersRouting() {
146146

147147
### Responses
148148
Defining response schemas and their corresponding HTTP status codes are done via `@KtorResponds` annotation on an endpoint.
149+
`Nothing` is treated specially and will result in empty response body.
149150

150151
```kotlin
151152
@GenerateOpenApi
@@ -154,6 +155,7 @@ fun Route.ordersRouting() {
154155
@KtorResponds(
155156
[
156157
ResponseEntry("200", Order::class, description = "Created order"),
158+
ResponseEntry("204", Nothing::class),
157159
ResponseEntry("400", ErrorResponseSample::class, description = "Invalid order payload")
158160
]
159161
)

create-plugin/src/main/kotlin/io/github/tabilzad/ktor/k2/ExpressionsVisitorK2.kt

-1
Original file line numberDiff line numberDiff line change
@@ -26,7 +26,6 @@ import org.jetbrains.kotlin.fir.visitors.FirDefaultVisitor
2626
import org.jetbrains.kotlin.name.ClassId
2727
import org.jetbrains.kotlin.name.FqName
2828
import org.jetbrains.kotlin.util.PrivateForInline
29-
import kotlin.reflect.typeOf
3029

3130
internal class ExpressionsVisitorK2(
3231
private val config: PluginConfiguration,

create-plugin/src/test/kotlin/io/github/tabilzad/ktor/K2StabilityTest.kt

-1
Original file line numberDiff line numberDiff line change
@@ -322,7 +322,6 @@ class K2StabilityTest {
322322
result.assertWith(expected)
323323
}
324324

325-
326325
@Test
327326
fun `should handle abstract or sealed schema definitions`() {
328327
val (source, expected) = loadSourceAndExpected("Abstractions")

create-plugin/src/test/resources/expected/ResponseBodyEmpty-expected.json

+28-28
Original file line numberDiff line numberDiff line change
@@ -6,48 +6,48 @@
66
"version" : "1.0.0"
77
},
88
"paths" : {
9-
"/v1/noResponseBody": {
10-
"post": {
11-
"responses": {
12-
"200": {
13-
"description": "Success"
9+
"/v1/noResponseBody" : {
10+
"post" : {
11+
"responses" : {
12+
"200" : {
13+
"description" : "Success"
1414
},
15-
"500": {
16-
"description": "Failure",
17-
"content": {
18-
"application/json": {
19-
"schema": {
20-
"$ref": "#/components/schemas/sources.requests.PrivateBodyRequest"
15+
"500" : {
16+
"description" : "Failure",
17+
"content" : {
18+
"application/json" : {
19+
"schema" : {
20+
"$ref" : "#/components/schemas/sources.requests.PrivateBodyRequest"
2121
}
2222
}
2323
}
2424
}
2525
},
26-
"requestBody": {
27-
"required": true,
28-
"content": {
29-
"application/json": {
30-
"schema": {
31-
"$ref": "#/components/schemas/sources.requests.SimpleRequest"
26+
"requestBody" : {
27+
"required" : true,
28+
"content" : {
29+
"application/json" : {
30+
"schema" : {
31+
"$ref" : "#/components/schemas/sources.requests.SimpleRequest"
3232
}
3333
}
3434
}
3535
}
3636
}
3737
},
38-
"/v1/implicitArgNames": {
39-
"post": {
40-
"responses": {
41-
"204": {
42-
"description": ""
38+
"/v1/implicitArgNames" : {
39+
"post" : {
40+
"responses" : {
41+
"204" : {
42+
"description" : ""
4343
}
4444
},
45-
"requestBody": {
46-
"required": true,
47-
"content": {
48-
"application/json": {
49-
"schema": {
50-
"$ref": "#/components/schemas/sources.requests.SimpleRequest"
45+
"requestBody" : {
46+
"required" : true,
47+
"content" : {
48+
"application/json" : {
49+
"schema" : {
50+
"$ref" : "#/components/schemas/sources.requests.SimpleRequest"
5151
}
5252
}
5353
}

0 commit comments

Comments
 (0)