Skip to content

Commit b172b04

Browse files
committed
improve types
1 parent 0bc1f90 commit b172b04

File tree

4 files changed

+19
-8
lines changed

4 files changed

+19
-8
lines changed

openapi-processor-core/src/main/kotlin/io/openapiprocessor/core/converter/ApiConverter.kt

Lines changed: 6 additions & 4 deletions
Original file line numberDiff line numberDiff line change
@@ -26,6 +26,8 @@ import org.slf4j.Logger
2626
import org.slf4j.LoggerFactory
2727
import io.openapiprocessor.core.model.RequestBody as ModelRequestBody
2828
import io.openapiprocessor.core.model.Response as ModelResponse
29+
import io.openapiprocessor.core.model.HttpStatus as ModelHttpStatus
30+
import io.openapiprocessor.core.model.ContentType as ModelContentType
2931
import io.openapiprocessor.core.model.parameters.Parameter as ModelParameter
3032

3133
const val MULTIPART = "multipart/"
@@ -218,8 +220,8 @@ class ApiConverter(
218220
return RequestBodies(bodies, params)
219221
}
220222

221-
private fun collectResponses(responses: Map<HttpStatus, Response>, ctx: ApiConverterContext): Map<String, List<ModelResponse>> {
222-
val resultResponses: MutableMap<String, List<ModelResponse>> = mutableMapOf()
223+
private fun collectResponses(responses: Map<HttpStatus, Response>, ctx: ApiConverterContext): Map<ModelHttpStatus, List<ModelResponse>> {
224+
val resultResponses: MutableMap<HttpStatus, List<ModelResponse>> = mutableMapOf()
223225
val contentTypeInterfaces = collectContentTypeInterfaces(responses, ctx)
224226

225227
responses.forEach { (httpStatus, httpResponse) ->
@@ -235,7 +237,7 @@ class ApiConverter(
235237
}
236238

237239
private fun collectContentTypeInterfaces(responses: Map<HttpStatus, Response>, ctx: ApiConverterContext)
238-
: Map<ContentType, ContentTypeInterface> {
240+
: Map<ModelContentType, ContentTypeInterface> {
239241
if (!options.responseInterface) {
240242
return emptyMap()
241243
}
@@ -249,7 +251,7 @@ class ApiConverter(
249251
// Unfortunately we have to calculate the result data types to achieve this because it is currently not possible
250252
// to detect this from the parsed OpenAPI.
251253

252-
val checkResponses: MutableMap<String, List<ModelResponse>> = mutableMapOf()
254+
val checkResponses: MutableMap<ModelHttpStatus, List<ModelResponse>> = mutableMapOf()
253255

254256
val checkDataTypes = ctx.dataTypes.copy()
255257
responses.forEach { (httpStatus, httpResponse) ->

openapi-processor-core/src/main/kotlin/io/openapiprocessor/core/model/Endpoint.kt

Lines changed: 3 additions & 3 deletions
Original file line numberDiff line numberDiff line change
@@ -18,7 +18,7 @@ class Endpoint(
1818
val method: HttpMethod,
1919
val parameters: List<Parameter>,
2020
val requestBodies: List<RequestBody>,
21-
val responses: Map<String, List<Response>>,
21+
val responses: Map<HttpStatus, List<Response>>,
2222
val operationId: String? = null,
2323
val deprecated: Boolean = false,
2424
private val documentation: Documentation? = null
@@ -145,8 +145,8 @@ class Endpoint(
145145
}
146146
}
147147

148-
private fun getSuccessResponses(): MutableMap<String, MutableList<Response>> {
149-
val result = mutableMapOf<String, MutableList<Response>>()
148+
private fun getSuccessResponses(): MutableMap<ContentType, MutableList<Response>> {
149+
val result = mutableMapOf<ContentType, MutableList<Response>>()
150150

151151
// prefer responses with content type.
152152
filterSuccessResponses()

openapi-processor-core/src/main/kotlin/io/openapiprocessor/core/model/Response.kt

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -11,7 +11,7 @@ import io.openapiprocessor.core.model.datatypes.DataType
1111
* Endpoint response properties.
1212
*/
1313
open class Response(
14-
val contentType: String,
14+
val contentType: ContentType,
1515
val responseType: DataType,
1616
val description: String? = null
1717
) {
Lines changed: 9 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,9 @@
1+
/*
2+
* Copyright 2025 https://github.com/openapi-processor/openapi-processor-base
3+
* PDX-License-Identifier: Apache-2.0
4+
*/
5+
6+
package io.openapiprocessor.core.model
7+
8+
typealias HttpStatus = String
9+
typealias ContentType = String

0 commit comments

Comments
 (0)