Skip to content

Commit 5523cc0

Browse files
author
andrewwilsonnew
committed
first pass
1 parent 2fb26c3 commit 5523cc0

File tree

9 files changed

+80
-59
lines changed

9 files changed

+80
-59
lines changed

bin/configs/kotlin-misk-config.yaml

Lines changed: 4 additions & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -8,4 +8,7 @@ additionalProperties:
88
moduleClassName: "PetStoreModule"
99
generateStubImplClasses: true
1010
addModelMoshiJsonAnnotation: true
11-
actionPathPrefix : "samplePrefix"
11+
actionPathPrefix: "samplePrefix"
12+
actionAnnotations: "@LogRequestResponse(bodySampling = 1.0, errorBodySampling = 1.0)"
13+
actionImports: "import misk.web.actions.WebAction"
14+
actionParentClass: "WebAction"

modules/openapi-generator/src/main/java/org/openapitools/codegen/languages/KotlinMiskServerCodegen.java

Lines changed: 25 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -55,6 +55,9 @@ public class KotlinMiskServerCodegen extends AbstractKotlinCodegen implements Be
5555
private static final String ROOT_PACKAGE = "rootPackage";
5656
public static final String GENERATE_STUB_IMPL_CLASSES = "generateStubImplClasses";
5757
public static final String ADD_MODEL_MOSHI_JSON_ANNOTATION = "addModelMoshiJsonAnnotation";
58+
public static final String ACTION_ANNOTATIONS = "actionAnnotations";
59+
public static final String ACTION_IMPORTS = "actionImports";
60+
public static final String ACTION_PARENT_CLASS = "actionParentClass";
5861

5962
private boolean useBeanValidation = true;
6063

@@ -69,6 +72,9 @@ public class KotlinMiskServerCodegen extends AbstractKotlinCodegen implements Be
6972

7073
@Setter protected String moduleClassName = "OpenApiModule";
7174
@Setter protected String actionPathPrefix = "";
75+
@Setter protected String actionAnnotations = "";
76+
@Setter protected String actionImports = "import misk.web.actions.WebAction";
77+
@Setter protected String actionParentClass = "WebAction";
7278

7379
@Override
7480
public CodegenType getTag() {
@@ -122,6 +128,9 @@ public KotlinMiskServerCodegen() {
122128

123129
addOption(MODULE_CLASS_NAME, "Name of the generated module class", moduleClassName);
124130
addOption(ACTION_PATH_PREFIX, "Prefix for action path", actionPathPrefix);
131+
addOption(ACTION_ANNOTATIONS, "Action Annotations", actionAnnotations);
132+
addOption(ACTION_IMPORTS, "Imports for Actions", actionImports);
133+
addOption(ACTION_PARENT_CLASS, "Parent Class for Action", actionParentClass);
125134

126135
apiTestTemplateFiles.clear();
127136
apiTestTemplateFiles.put("api_test.mustache", ".kt");
@@ -173,6 +182,21 @@ public void processOpts() {
173182
}
174183
writePropertyBack(ACTION_PATH_PREFIX, actionPathPrefix);
175184

185+
if (additionalProperties.containsKey(ACTION_ANNOTATIONS)) {
186+
setActionAnnotations((String) additionalProperties.get(ACTION_ANNOTATIONS));
187+
}
188+
writePropertyBack(ACTION_ANNOTATIONS, actionAnnotations);
189+
190+
if (additionalProperties.containsKey(ACTION_IMPORTS)) {
191+
setActionImports((String) additionalProperties.get(ACTION_IMPORTS));
192+
}
193+
writePropertyBack(ACTION_IMPORTS, actionImports);
194+
195+
if (additionalProperties.containsKey(ACTION_PARENT_CLASS)) {
196+
setActionParentClass((String) additionalProperties.get(ACTION_PARENT_CLASS));
197+
}
198+
writePropertyBack(ACTION_PARENT_CLASS, actionParentClass);
199+
176200
if (additionalProperties.containsKey(USE_BEANVALIDATION)) {
177201
this.setUseBeanValidation(convertPropertyToBoolean(USE_BEANVALIDATION));
178202
}
@@ -187,6 +211,7 @@ public void processOpts() {
187211
setAddModelMoshiJsonAnnotation(convertPropertyToBoolean(ADD_MODEL_MOSHI_JSON_ANNOTATION));
188212
}
189213
writePropertyBack(ADD_MODEL_MOSHI_JSON_ANNOTATION, addModelMoshiJsonAnnotation);
214+
190215
applyJakartaPackage();
191216

192217
String apiModuleFolder = (sourceFolder + File.separator + apiPackage).replace(".", File.separator);

modules/openapi-generator/src/main/resources/kotlin-misk/apiAction.mustache

Lines changed: 5 additions & 6 deletions
Original file line numberDiff line numberDiff line change
@@ -26,9 +26,8 @@ import misk.web.RequestBody
2626
import misk.web.RequestContentType
2727
import misk.web.RequestHeader
2828
import misk.web.ResponseContentType
29-
import misk.web.actions.WebAction
30-
import misk.web.interceptors.LogRequestResponse
31-
import misk.web.mediatype.MediaTypes
29+
import misk.web.mediatype.MediaTypes{{#actionImports}}
30+
{{.}}{{/actionImports}}
3231
{{#imports}}import {{import}}
3332
{{/imports}}
3433

@@ -38,14 +37,14 @@ import misk.web.mediatype.MediaTypes
3837
{{#operations}}
3938
@Singleton
4039
class {{classname}}Action @Inject constructor(
41-
) : WebAction {
40+
) : {{actionParentClass}} {
4241
{{#operation}}
4342

4443
@{{httpMethod}}("{{actionPathPrefix}}{{path}}")
4544
@Description("{{{summary}}}"){{#hasConsumes}}
4645
@RequestContentType({{#consumes}}{{{mediaType}}}{{^-last}}, {{/-last}}{{/consumes}}){{/hasConsumes}}{{#hasProduces}}
47-
@ResponseContentType({{#produces}}{{{mediaType}}}{{^-last}}, {{/-last}}{{/produces}}){{/hasProduces}}
48-
@LogRequestResponse(bodySampling = 1.0, errorBodySampling = 1.0)
46+
@ResponseContentType({{#produces}}{{{mediaType}}}{{^-last}}, {{/-last}}{{/produces}}){{/hasProduces}}{{#actionAnnotations}}
47+
{{.}}{{/actionAnnotations}}
4948
fun {{operationId}}({{#allParams}}
5049
{{>queryParams}}{{>pathParams}}{{>headerParams}}{{>cookieParams}}{{>bodyParams}}{{>formParams}}{{^-last}}, {{/-last}}{{/allParams}}){{#returnType}}: {{{returnType}}}{{/returnType}} {
5150
TODO()

samples/server/petstore/kotlin-misk-config/src/main/kotlin/org/openapitools/server/api/api/PetApiAction.kt

Lines changed: 9 additions & 10 deletions
Original file line numberDiff line numberDiff line change
@@ -24,9 +24,8 @@ import misk.web.RequestBody
2424
import misk.web.RequestContentType
2525
import misk.web.RequestHeader
2626
import misk.web.ResponseContentType
27-
import misk.web.actions.WebAction
28-
import misk.web.interceptors.LogRequestResponse
2927
import misk.web.mediatype.MediaTypes
28+
import misk.web.actions.WebAction
3029
import org.openapitools.server.api.model.ModelApiResponse
3130
import org.openapitools.server.api.model.Pet
3231

@@ -41,15 +40,15 @@ class PetApiAction @Inject constructor(
4140
@Description("Add a new pet to the store")
4241
@RequestContentType(MediaTypes.APPLICATION_JSON, MediaTypes.APPLICATION_XML)
4342
@ResponseContentType(MediaTypes.APPLICATION_XML, MediaTypes.APPLICATION_JSON)
44-
@LogRequestResponse(bodySampling = 1.0, errorBodySampling = 1.0)
43+
@LogRequestResponse(bodySampling = 1.0, errorBodySampling = 1.0)
4544
fun addPet(
4645
@Valid @RequestBody pet: Pet): Pet {
4746
TODO()
4847
}
4948

5049
@Delete("samplePrefix/pet/{petId}")
5150
@Description("Deletes a pet")
52-
@LogRequestResponse(bodySampling = 1.0, errorBodySampling = 1.0)
51+
@LogRequestResponse(bodySampling = 1.0, errorBodySampling = 1.0)
5352
fun deletePet(
5453
@PathParam("petId") petId: kotlin.Long,
5554
@RequestHeader(value = "api_key") apiKey: kotlin.String?) {
@@ -59,7 +58,7 @@ class PetApiAction @Inject constructor(
5958
@Get("samplePrefix/pet/findByStatus")
6059
@Description("Finds Pets by status")
6160
@ResponseContentType(MediaTypes.APPLICATION_XML, MediaTypes.APPLICATION_JSON)
62-
@LogRequestResponse(bodySampling = 1.0, errorBodySampling = 1.0)
61+
@LogRequestResponse(bodySampling = 1.0, errorBodySampling = 1.0)
6362
fun findPetsByStatus(
6463
@QueryParam(value = "status") status: kotlin.Array<kotlin.String>): kotlin.Array<Pet> {
6564
TODO()
@@ -68,7 +67,7 @@ class PetApiAction @Inject constructor(
6867
@Get("samplePrefix/pet/findByTags")
6968
@Description("Finds Pets by tags")
7069
@ResponseContentType(MediaTypes.APPLICATION_XML, MediaTypes.APPLICATION_JSON)
71-
@LogRequestResponse(bodySampling = 1.0, errorBodySampling = 1.0)
70+
@LogRequestResponse(bodySampling &#x3D; 1.0, errorBodySampling &#x3D; 1.0)
7271
fun findPetsByTags(
7372
@QueryParam(value = "tags") tags: kotlin.Array<kotlin.String>): kotlin.Array<Pet> {
7473
TODO()
@@ -77,7 +76,7 @@ class PetApiAction @Inject constructor(
7776
@Get("samplePrefix/pet/{petId}")
7877
@Description("Find pet by ID")
7978
@ResponseContentType(MediaTypes.APPLICATION_XML, MediaTypes.APPLICATION_JSON)
80-
@LogRequestResponse(bodySampling = 1.0, errorBodySampling = 1.0)
79+
@LogRequestResponse(bodySampling &#x3D; 1.0, errorBodySampling &#x3D; 1.0)
8180
fun getPetById(
8281
@PathParam("petId") petId: kotlin.Long): Pet {
8382
TODO()
@@ -87,7 +86,7 @@ class PetApiAction @Inject constructor(
8786
@Description("Update an existing pet")
8887
@RequestContentType(MediaTypes.APPLICATION_JSON, MediaTypes.APPLICATION_XML)
8988
@ResponseContentType(MediaTypes.APPLICATION_XML, MediaTypes.APPLICATION_JSON)
90-
@LogRequestResponse(bodySampling = 1.0, errorBodySampling = 1.0)
89+
@LogRequestResponse(bodySampling &#x3D; 1.0, errorBodySampling &#x3D; 1.0)
9190
fun updatePet(
9291
@Valid @RequestBody pet: Pet): Pet {
9392
TODO()
@@ -96,7 +95,7 @@ class PetApiAction @Inject constructor(
9695
@Post("samplePrefix/pet/{petId}")
9796
@Description("Updates a pet in the store with form data")
9897
@RequestContentType(MediaTypes.APPLICATION_FORM_URLENCODED)
99-
@LogRequestResponse(bodySampling = 1.0, errorBodySampling = 1.0)
98+
@LogRequestResponse(bodySampling &#x3D; 1.0, errorBodySampling &#x3D; 1.0)
10099
fun updatePetWithForm(
101100
@PathParam("petId") petId: kotlin.Long,
102101
@QueryParam(value = "name") name: kotlin.String? ,
@@ -108,7 +107,7 @@ class PetApiAction @Inject constructor(
108107
@Description("uploads an image")
109108
@RequestContentType(MediaTypes.FORM_DATA)
110109
@ResponseContentType(MediaTypes.APPLICATION_JSON)
111-
@LogRequestResponse(bodySampling = 1.0, errorBodySampling = 1.0)
110+
@LogRequestResponse(bodySampling &#x3D; 1.0, errorBodySampling &#x3D; 1.0)
112111
fun uploadFile(
113112
@PathParam("petId") petId: kotlin.Long,
114113
@QueryParam(value = "additionalMetadata") additionalMetadata: kotlin.String? ,

samples/server/petstore/kotlin-misk-config/src/main/kotlin/org/openapitools/server/api/api/StoreApiAction.kt

Lines changed: 5 additions & 6 deletions
Original file line numberDiff line numberDiff line change
@@ -24,9 +24,8 @@ import misk.web.RequestBody
2424
import misk.web.RequestContentType
2525
import misk.web.RequestHeader
2626
import misk.web.ResponseContentType
27-
import misk.web.actions.WebAction
28-
import misk.web.interceptors.LogRequestResponse
2927
import misk.web.mediatype.MediaTypes
28+
import misk.web.actions.WebAction
3029
import org.openapitools.server.api.model.Order
3130

3231
/**
@@ -38,7 +37,7 @@ class StoreApiAction @Inject constructor(
3837

3938
@Delete("samplePrefix/store/order/{orderId}")
4039
@Description("Delete purchase order by ID")
41-
@LogRequestResponse(bodySampling = 1.0, errorBodySampling = 1.0)
40+
@LogRequestResponse(bodySampling &#x3D; 1.0, errorBodySampling &#x3D; 1.0)
4241
fun deleteOrder(
4342
@PathParam("orderId") orderId: kotlin.String) {
4443
TODO()
@@ -47,15 +46,15 @@ class StoreApiAction @Inject constructor(
4746
@Get("samplePrefix/store/inventory")
4847
@Description("Returns pet inventories by status")
4948
@ResponseContentType(MediaTypes.APPLICATION_JSON)
50-
@LogRequestResponse(bodySampling = 1.0, errorBodySampling = 1.0)
49+
@LogRequestResponse(bodySampling &#x3D; 1.0, errorBodySampling &#x3D; 1.0)
5150
fun getInventory(): kotlin.collections.Map<kotlin.String, kotlin.Int> {
5251
TODO()
5352
}
5453

5554
@Get("samplePrefix/store/order/{orderId}")
5655
@Description("Find purchase order by ID")
5756
@ResponseContentType(MediaTypes.APPLICATION_XML, MediaTypes.APPLICATION_JSON)
58-
@LogRequestResponse(bodySampling = 1.0, errorBodySampling = 1.0)
57+
@LogRequestResponse(bodySampling &#x3D; 1.0, errorBodySampling &#x3D; 1.0)
5958
fun getOrderById(
6059
@Min(1L) @Max(5L) @PathParam("orderId") orderId: kotlin.Long): Order {
6160
TODO()
@@ -65,7 +64,7 @@ class StoreApiAction @Inject constructor(
6564
@Description("Place an order for a pet")
6665
@RequestContentType(MediaTypes.APPLICATION_JSON)
6766
@ResponseContentType(MediaTypes.APPLICATION_XML, MediaTypes.APPLICATION_JSON)
68-
@LogRequestResponse(bodySampling = 1.0, errorBodySampling = 1.0)
67+
@LogRequestResponse(bodySampling &#x3D; 1.0, errorBodySampling &#x3D; 1.0)
6968
fun placeOrder(
7069
@Valid @RequestBody order: Order): Order {
7170
TODO()

samples/server/petstore/kotlin-misk-config/src/main/kotlin/org/openapitools/server/api/api/UserApiAction.kt

Lines changed: 9 additions & 10 deletions
Original file line numberDiff line numberDiff line change
@@ -24,9 +24,8 @@ import misk.web.RequestBody
2424
import misk.web.RequestContentType
2525
import misk.web.RequestHeader
2626
import misk.web.ResponseContentType
27-
import misk.web.actions.WebAction
28-
import misk.web.interceptors.LogRequestResponse
2927
import misk.web.mediatype.MediaTypes
28+
import misk.web.actions.WebAction
3029
import org.openapitools.server.api.model.User
3130

3231
/**
@@ -39,7 +38,7 @@ class UserApiAction @Inject constructor(
3938
@Post("samplePrefix/user")
4039
@Description("Create user")
4140
@RequestContentType(MediaTypes.APPLICATION_JSON)
42-
@LogRequestResponse(bodySampling = 1.0, errorBodySampling = 1.0)
41+
@LogRequestResponse(bodySampling &#x3D; 1.0, errorBodySampling &#x3D; 1.0)
4342
fun createUser(
4443
@Valid @RequestBody user: User) {
4544
TODO()
@@ -48,7 +47,7 @@ class UserApiAction @Inject constructor(
4847
@Post("samplePrefix/user/createWithArray")
4948
@Description("Creates list of users with given input array")
5049
@RequestContentType(MediaTypes.APPLICATION_JSON)
51-
@LogRequestResponse(bodySampling = 1.0, errorBodySampling = 1.0)
50+
@LogRequestResponse(bodySampling &#x3D; 1.0, errorBodySampling &#x3D; 1.0)
5251
fun createUsersWithArrayInput(
5352
@Valid @RequestBody user: kotlin.Array<User>) {
5453
TODO()
@@ -57,15 +56,15 @@ class UserApiAction @Inject constructor(
5756
@Post("samplePrefix/user/createWithList")
5857
@Description("Creates list of users with given input array")
5958
@RequestContentType(MediaTypes.APPLICATION_JSON)
60-
@LogRequestResponse(bodySampling = 1.0, errorBodySampling = 1.0)
59+
@LogRequestResponse(bodySampling &#x3D; 1.0, errorBodySampling &#x3D; 1.0)
6160
fun createUsersWithListInput(
6261
@Valid @RequestBody user: kotlin.Array<User>) {
6362
TODO()
6463
}
6564

6665
@Delete("samplePrefix/user/{username}")
6766
@Description("Delete user")
68-
@LogRequestResponse(bodySampling = 1.0, errorBodySampling = 1.0)
67+
@LogRequestResponse(bodySampling &#x3D; 1.0, errorBodySampling &#x3D; 1.0)
6968
fun deleteUser(
7069
@PathParam("username") username: kotlin.String) {
7170
TODO()
@@ -74,7 +73,7 @@ class UserApiAction @Inject constructor(
7473
@Get("samplePrefix/user/{username}")
7574
@Description("Get user by user name")
7675
@ResponseContentType(MediaTypes.APPLICATION_XML, MediaTypes.APPLICATION_JSON)
77-
@LogRequestResponse(bodySampling = 1.0, errorBodySampling = 1.0)
76+
@LogRequestResponse(bodySampling &#x3D; 1.0, errorBodySampling &#x3D; 1.0)
7877
fun getUserByName(
7978
@PathParam("username") username: kotlin.String): User {
8079
TODO()
@@ -83,7 +82,7 @@ class UserApiAction @Inject constructor(
8382
@Get("samplePrefix/user/login")
8483
@Description("Logs user into the system")
8584
@ResponseContentType(MediaTypes.APPLICATION_XML, MediaTypes.APPLICATION_JSON)
86-
@LogRequestResponse(bodySampling = 1.0, errorBodySampling = 1.0)
85+
@LogRequestResponse(bodySampling &#x3D; 1.0, errorBodySampling &#x3D; 1.0)
8786
fun loginUser(
8887
@QueryParam(value = "username") username: kotlin.String,
8988
@QueryParam(value = "password") password: kotlin.String): kotlin.String {
@@ -92,15 +91,15 @@ class UserApiAction @Inject constructor(
9291

9392
@Get("samplePrefix/user/logout")
9493
@Description("Logs out current logged in user session")
95-
@LogRequestResponse(bodySampling = 1.0, errorBodySampling = 1.0)
94+
@LogRequestResponse(bodySampling &#x3D; 1.0, errorBodySampling &#x3D; 1.0)
9695
fun logoutUser() {
9796
TODO()
9897
}
9998

10099
@Put("samplePrefix/user/{username}")
101100
@Description("Updated user")
102101
@RequestContentType(MediaTypes.APPLICATION_JSON)
103-
@LogRequestResponse(bodySampling = 1.0, errorBodySampling = 1.0)
102+
@LogRequestResponse(bodySampling &#x3D; 1.0, errorBodySampling &#x3D; 1.0)
104103
fun updateUser(
105104
@PathParam("username") username: kotlin.String,
106105
@Valid @RequestBody user: User) {

samples/server/petstore/kotlin-misk/src/main/kotlin/org/openapitools/server/api/api/PetApiAction.kt

Lines changed: 9 additions & 10 deletions
Original file line numberDiff line numberDiff line change
@@ -24,9 +24,8 @@ import misk.web.RequestBody
2424
import misk.web.RequestContentType
2525
import misk.web.RequestHeader
2626
import misk.web.ResponseContentType
27-
import misk.web.actions.WebAction
28-
import misk.web.interceptors.LogRequestResponse
2927
import misk.web.mediatype.MediaTypes
28+
import misk.web.actions.WebAction
3029
import org.openapitools.server.api.model.ModelApiResponse
3130
import org.openapitools.server.api.model.Pet
3231

@@ -41,15 +40,15 @@ class PetApiAction @Inject constructor(
4140
@Description("Add a new pet to the store")
4241
@RequestContentType(MediaTypes.APPLICATION_JSON, MediaTypes.APPLICATION_XML)
4342
@ResponseContentType(MediaTypes.APPLICATION_XML, MediaTypes.APPLICATION_JSON)
44-
@LogRequestResponse(bodySampling = 1.0, errorBodySampling = 1.0)
43+
4544
fun addPet(
4645
@Valid @RequestBody pet: Pet): Pet {
4746
TODO()
4847
}
4948

5049
@Delete("/pet/{petId}")
5150
@Description("Deletes a pet")
52-
@LogRequestResponse(bodySampling = 1.0, errorBodySampling = 1.0)
51+
5352
fun deletePet(
5453
@PathParam("petId") petId: kotlin.Long,
5554
@RequestHeader(value = "api_key") apiKey: kotlin.String?) {
@@ -59,7 +58,7 @@ class PetApiAction @Inject constructor(
5958
@Get("/pet/findByStatus")
6059
@Description("Finds Pets by status")
6160
@ResponseContentType(MediaTypes.APPLICATION_XML, MediaTypes.APPLICATION_JSON)
62-
@LogRequestResponse(bodySampling = 1.0, errorBodySampling = 1.0)
61+
6362
fun findPetsByStatus(
6463
@QueryParam(value = "status") status: kotlin.Array<kotlin.String>): kotlin.Array<Pet> {
6564
TODO()
@@ -68,7 +67,7 @@ class PetApiAction @Inject constructor(
6867
@Get("/pet/findByTags")
6968
@Description("Finds Pets by tags")
7069
@ResponseContentType(MediaTypes.APPLICATION_XML, MediaTypes.APPLICATION_JSON)
71-
@LogRequestResponse(bodySampling = 1.0, errorBodySampling = 1.0)
70+
7271
fun findPetsByTags(
7372
@QueryParam(value = "tags") tags: kotlin.Array<kotlin.String>): kotlin.Array<Pet> {
7473
TODO()
@@ -77,7 +76,7 @@ class PetApiAction @Inject constructor(
7776
@Get("/pet/{petId}")
7877
@Description("Find pet by ID")
7978
@ResponseContentType(MediaTypes.APPLICATION_XML, MediaTypes.APPLICATION_JSON)
80-
@LogRequestResponse(bodySampling = 1.0, errorBodySampling = 1.0)
79+
8180
fun getPetById(
8281
@PathParam("petId") petId: kotlin.Long): Pet {
8382
TODO()
@@ -87,7 +86,7 @@ class PetApiAction @Inject constructor(
8786
@Description("Update an existing pet")
8887
@RequestContentType(MediaTypes.APPLICATION_JSON, MediaTypes.APPLICATION_XML)
8988
@ResponseContentType(MediaTypes.APPLICATION_XML, MediaTypes.APPLICATION_JSON)
90-
@LogRequestResponse(bodySampling = 1.0, errorBodySampling = 1.0)
89+
9190
fun updatePet(
9291
@Valid @RequestBody pet: Pet): Pet {
9392
TODO()
@@ -96,7 +95,7 @@ class PetApiAction @Inject constructor(
9695
@Post("/pet/{petId}")
9796
@Description("Updates a pet in the store with form data")
9897
@RequestContentType(MediaTypes.APPLICATION_FORM_URLENCODED)
99-
@LogRequestResponse(bodySampling = 1.0, errorBodySampling = 1.0)
98+
10099
fun updatePetWithForm(
101100
@PathParam("petId") petId: kotlin.Long,
102101
@QueryParam(value = "name") name: kotlin.String? ,
@@ -108,7 +107,7 @@ class PetApiAction @Inject constructor(
108107
@Description("uploads an image")
109108
@RequestContentType(MediaTypes.FORM_DATA)
110109
@ResponseContentType(MediaTypes.APPLICATION_JSON)
111-
@LogRequestResponse(bodySampling = 1.0, errorBodySampling = 1.0)
110+
112111
fun uploadFile(
113112
@PathParam("petId") petId: kotlin.Long,
114113
@QueryParam(value = "additionalMetadata") additionalMetadata: kotlin.String? ,

0 commit comments

Comments
 (0)