Skip to content

Commit e49672f

Browse files
author
andrewwilsonnew
committed
updating docs 2
1 parent 127af7d commit e49672f

7 files changed

Lines changed: 68 additions & 48 deletions

File tree

bin/configs/kotlin-misk-config.yaml

Lines changed: 2 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -12,3 +12,5 @@ additionalProperties:
1212
actionAnnotations: "@LogRequestResponse(bodySampling = 1.0, errorBodySampling = 1.0)"
1313
actionImports: "import misk.web.actions.WebAction"
1414
actionParentClass: "WebAction"
15+
actionRequestContentType: "@RequestContentType("
16+
actionRequestContentTypePrefix: "MediaTypes."

docs/generators/kotlin-misk.md

Lines changed: 2 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -22,6 +22,8 @@ These options may be applied as additional-properties (cli) or configOptions (pl
2222
|actionImports|Imports for Actions| |import misk.web.actions.WebAction|
2323
|actionParentClass|Parent Class for Action| |WebAction|
2424
|actionPathPrefix|Prefix for action path| ||
25+
|actionRequestContentType|Request ContentType for Action| |@RequestContentType(|
26+
|actionRequestContentTypePrefix|Request ContentType Prefix for Action| |MediaTypes.|
2527
|addModelMoshiJsonAnnotation|Add a Moshi JSON adapter annotation to all model classes| |true|
2628
|additionalModelTypeAnnotations|Additional annotations for model type(class level annotations). List separated by semicolon(;) or new line (Linux or Windows)| |null|
2729
|apiSuffix|suffix for api classes| |Api|

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

Lines changed: 42 additions & 26 deletions
Original file line numberDiff line numberDiff line change
@@ -58,6 +58,8 @@ public class KotlinMiskServerCodegen extends AbstractKotlinCodegen implements Be
5858
public static final String ACTION_ANNOTATIONS = "actionAnnotations";
5959
public static final String ACTION_IMPORTS = "actionImports";
6060
public static final String ACTION_PARENT_CLASS = "actionParentClass";
61+
public static final String ACTION_REQUEST_CONTENT_TYPE = "actionRequestContentType";
62+
public static final String ACTION_REQUEST_CONTENT_TYPE_PREFIX = "actionRequestContentTypePrefix";
6163

6264
private boolean useBeanValidation = true;
6365

@@ -75,6 +77,8 @@ public class KotlinMiskServerCodegen extends AbstractKotlinCodegen implements Be
7577
@Setter protected String actionAnnotations = "";
7678
@Setter protected String actionImports = "import misk.web.actions.WebAction";
7779
@Setter protected String actionParentClass = "WebAction";
80+
@Setter protected String actionRequestContentType = "@RequestContentType(";
81+
@Setter protected String actionRequestContentTypePrefix = "MediaTypes.";
7882

7983
@Override
8084
public CodegenType getTag() {
@@ -131,6 +135,8 @@ public KotlinMiskServerCodegen() {
131135
addOption(ACTION_ANNOTATIONS, "Action Annotations", actionAnnotations);
132136
addOption(ACTION_IMPORTS, "Imports for Actions", actionImports);
133137
addOption(ACTION_PARENT_CLASS, "Parent Class for Action", actionParentClass);
138+
addOption(ACTION_REQUEST_CONTENT_TYPE, "Request ContentType for Action", actionRequestContentType);
139+
addOption(ACTION_REQUEST_CONTENT_TYPE_PREFIX, "Request ContentType Prefix for Action", actionRequestContentTypePrefix);
134140

135141
apiTestTemplateFiles.clear();
136142
apiTestTemplateFiles.put("api_test.mustache", ".kt");
@@ -197,6 +203,16 @@ public void processOpts() {
197203
}
198204
writePropertyBack(ACTION_PARENT_CLASS, actionParentClass);
199205

206+
if (additionalProperties.containsKey(ACTION_REQUEST_CONTENT_TYPE)) {
207+
setActionRequestContentType((String) additionalProperties.get(ACTION_REQUEST_CONTENT_TYPE));
208+
}
209+
writePropertyBack(ACTION_REQUEST_CONTENT_TYPE, actionRequestContentType);
210+
211+
if (additionalProperties.containsKey(ACTION_REQUEST_CONTENT_TYPE_PREFIX)) {
212+
setActionRequestContentTypePrefix((String) additionalProperties.get(ACTION_REQUEST_CONTENT_TYPE_PREFIX));
213+
}
214+
writePropertyBack(ACTION_REQUEST_CONTENT_TYPE_PREFIX, actionRequestContentTypePrefix);
215+
200216
if (additionalProperties.containsKey(USE_BEANVALIDATION)) {
201217
this.setUseBeanValidation(convertPropertyToBoolean(USE_BEANVALIDATION));
202218
}
@@ -255,39 +271,39 @@ public boolean getUseBeanValidation() {
255271
}
256272

257273
private String mapMediaType(String mediaType) {
258-
return MEDIA_MAPPING.getOrDefault(mediaType, "MediaTypes.APPLICATION_OCTETSTREAM /* @todo(unknown) -> " + mediaType + " */ ");
274+
return MEDIA_MAPPING.getOrDefault(mediaType, "APPLICATION_OCTETSTREAM /* @todo(unknown) -> " + mediaType + " */ ");
259275
}
260276

261277
private final static Map<String, String> MEDIA_MAPPING = getMappings();
262278

263279
private static Map<String, String> getMappings() {
264280
// add new values in order
265281
Map<String, String> result = new HashMap<>();
266-
result.put("*/*", "MediaTypes.ALL");
267-
268-
result.put("application/grpc", "MediaTypes.APPLICATION_GRPC");
269-
result.put("application/javascript", "MediaTypes.APPLICATION_JAVASCRIPT");
270-
result.put("application/json", "MediaTypes.APPLICATION_JSON");
271-
result.put("application/jwt", "MediaTypes.APPLICATION_JWT");
272-
result.put("application/octetstream", "MediaTypes.APPLICATION_OCTETSTREAM");
273-
result.put("application/pdf", "MediaTypes.APPLICATION_OCTETSTREAM");
274-
result.put("application/x-protobuf", "MediaTypes.APPLICATION_PROTOBUF");
275-
result.put("application/x-www-form-urlencoded", "MediaTypes.APPLICATION_FORM_URLENCODED");
276-
result.put("application/xml", "MediaTypes.APPLICATION_XML");
277-
result.put("application/zip", "MediaTypes.APPLICATION_ZIP");
278-
279-
result.put("image/gif", "MediaTypes.IMAGE_GIF");
280-
result.put("image/x-icon", "MediaTypes.IMAGE_ICO");
281-
result.put("image/jpeg", "MediaTypes.IMAGE_JPEG");
282-
result.put("image/png", "MediaTypes.IMAGE_PNG");
283-
result.put("image/svg+xml", "MediaTypes.IMAGE_SVG");
284-
result.put("image/tiff", "MediaTypes.IMAGE_TIFF");
285-
286-
result.put("multipart/form-data", "MediaTypes.FORM_DATA");
287-
288-
result.put("text/css", "MediaTypes.TEXT_CSS");
289-
result.put("text/html", "MediaTypes.TEXT_HTML");
290-
result.put("text/plain", "MediaTypes.TEXT_PLAIN_UTF8");
282+
result.put("*/*", "ALL");
283+
284+
result.put("application/grpc", "APPLICATION_GRPC");
285+
result.put("application/javascript", "APPLICATION_JAVASCRIPT");
286+
result.put("application/json", "APPLICATION_JSON");
287+
result.put("application/jwt", "APPLICATION_JWT");
288+
result.put("application/octetstream", "APPLICATION_OCTETSTREAM");
289+
result.put("application/pdf", "APPLICATION_OCTETSTREAM");
290+
result.put("application/x-protobuf", "APPLICATION_PROTOBUF");
291+
result.put("application/x-www-form-urlencoded", "APPLICATION_FORM_URLENCODED");
292+
result.put("application/xml", "APPLICATION_XML");
293+
result.put("application/zip", "APPLICATION_ZIP");
294+
295+
result.put("image/gif", "IMAGE_GIF");
296+
result.put("image/x-icon", "IMAGE_ICO");
297+
result.put("image/jpeg", "IMAGE_JPEG");
298+
result.put("image/png", "IMAGE_PNG");
299+
result.put("image/svg+xml", "IMAGE_SVG");
300+
result.put("image/tiff", "IMAGE_TIFF");
301+
302+
result.put("multipart/form-data", "FORM_DATA");
303+
304+
result.put("text/css", "TEXT_CSS");
305+
result.put("text/html", "TEXT_HTML");
306+
result.put("text/plain", "TEXT_PLAIN_UTF8");
291307

292308
return result;
293309
}

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

Lines changed: 2 additions & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -42,8 +42,8 @@ class {{classname}}Action @Inject constructor(
4242

4343
@{{httpMethod}}("{{{actionPathPrefix}}}{{path}}")
4444
@Description("{{{summary}}}"){{#hasConsumes}}
45-
@RequestContentType({{#consumes}}{{{mediaType}}}{{^-last}}, {{/-last}}{{/consumes}}){{/hasConsumes}}{{#hasProduces}}
46-
@ResponseContentType({{#produces}}{{{mediaType}}}{{^-last}}, {{/-last}}{{/produces}}){{/hasProduces}}{{#actionAnnotations}}
45+
{{{actionRequestContentType}}}{{#consumes}}{{{actionRequestContentTypePrefix}}}{{{mediaType}}}{{^-last}}, {{/-last}}{{/consumes}}){{/hasConsumes}}{{#hasProduces}}
46+
@ResponseContentType({{#produces}}MediaTypes.{{{mediaType}}}{{^-last}}, {{/-last}}{{/produces}}){{/hasProduces}}{{#actionAnnotations}}
4747
{{{.}}}{{/actionAnnotations}}
4848
fun {{operationId}}({{#allParams}}
4949
{{>queryParams}}{{>pathParams}}{{>headerParams}}{{>cookieParams}}{{>bodyParams}}{{>formParams}}{{^-last}}, {{/-last}}{{/allParams}}){{#returnType}}: {{{returnType}}}{{/returnType}} {

samples/server/petstore/kotlin-misk-config/docs/PetApi.md

Lines changed: 10 additions & 10 deletions
Original file line numberDiff line numberDiff line change
@@ -58,8 +58,8 @@ Name | Type | Description | Notes
5858

5959
### HTTP request headers
6060

61-
- **Content-Type**: MediaTypes.APPLICATION_JSON, MediaTypes.APPLICATION_XML
62-
- **Accept**: MediaTypes.APPLICATION_XML, MediaTypes.APPLICATION_JSON
61+
- **Content-Type**: APPLICATION_JSON, APPLICATION_XML
62+
- **Accept**: APPLICATION_XML, APPLICATION_JSON
6363

6464
<a name="deletePet"></a>
6565
# **deletePet**
@@ -154,7 +154,7 @@ Name | Type | Description | Notes
154154
### HTTP request headers
155155

156156
- **Content-Type**: Not defined
157-
- **Accept**: MediaTypes.APPLICATION_XML, MediaTypes.APPLICATION_JSON
157+
- **Accept**: APPLICATION_XML, APPLICATION_JSON
158158

159159
<a name="findPetsByTags"></a>
160160
# **findPetsByTags**
@@ -201,7 +201,7 @@ Name | Type | Description | Notes
201201
### HTTP request headers
202202

203203
- **Content-Type**: Not defined
204-
- **Accept**: MediaTypes.APPLICATION_XML, MediaTypes.APPLICATION_JSON
204+
- **Accept**: APPLICATION_XML, APPLICATION_JSON
205205

206206
<a name="getPetById"></a>
207207
# **getPetById**
@@ -248,7 +248,7 @@ Name | Type | Description | Notes
248248
### HTTP request headers
249249

250250
- **Content-Type**: Not defined
251-
- **Accept**: MediaTypes.APPLICATION_XML, MediaTypes.APPLICATION_JSON
251+
- **Accept**: APPLICATION_XML, APPLICATION_JSON
252252

253253
<a name="updatePet"></a>
254254
# **updatePet**
@@ -294,8 +294,8 @@ Name | Type | Description | Notes
294294

295295
### HTTP request headers
296296

297-
- **Content-Type**: MediaTypes.APPLICATION_JSON, MediaTypes.APPLICATION_XML
298-
- **Accept**: MediaTypes.APPLICATION_XML, MediaTypes.APPLICATION_JSON
297+
- **Content-Type**: APPLICATION_JSON, APPLICATION_XML
298+
- **Accept**: APPLICATION_XML, APPLICATION_JSON
299299

300300
<a name="updatePetWithForm"></a>
301301
# **updatePetWithForm**
@@ -344,7 +344,7 @@ null (empty response body)
344344

345345
### HTTP request headers
346346

347-
- **Content-Type**: MediaTypes.APPLICATION_FORM_URLENCODED
347+
- **Content-Type**: APPLICATION_FORM_URLENCODED
348348
- **Accept**: Not defined
349349

350350
<a name="uploadFile"></a>
@@ -395,6 +395,6 @@ Name | Type | Description | Notes
395395

396396
### HTTP request headers
397397

398-
- **Content-Type**: MediaTypes.FORM_DATA
399-
- **Accept**: MediaTypes.APPLICATION_JSON
398+
- **Content-Type**: FORM_DATA
399+
- **Accept**: APPLICATION_JSON
400400

samples/server/petstore/kotlin-misk-config/docs/StoreApi.md

Lines changed: 4 additions & 4 deletions
Original file line numberDiff line numberDiff line change
@@ -97,7 +97,7 @@ This endpoint does not need any parameter.
9797
### HTTP request headers
9898

9999
- **Content-Type**: Not defined
100-
- **Accept**: MediaTypes.APPLICATION_JSON
100+
- **Accept**: APPLICATION_JSON
101101

102102
<a name="getOrderById"></a>
103103
# **getOrderById**
@@ -144,7 +144,7 @@ No authorization required
144144
### HTTP request headers
145145

146146
- **Content-Type**: Not defined
147-
- **Accept**: MediaTypes.APPLICATION_XML, MediaTypes.APPLICATION_JSON
147+
- **Accept**: APPLICATION_XML, APPLICATION_JSON
148148

149149
<a name="placeOrder"></a>
150150
# **placeOrder**
@@ -190,6 +190,6 @@ No authorization required
190190

191191
### HTTP request headers
192192

193-
- **Content-Type**: MediaTypes.APPLICATION_JSON
194-
- **Accept**: MediaTypes.APPLICATION_XML, MediaTypes.APPLICATION_JSON
193+
- **Content-Type**: APPLICATION_JSON
194+
- **Accept**: APPLICATION_XML, APPLICATION_JSON
195195

samples/server/petstore/kotlin-misk-config/docs/UserApi.md

Lines changed: 6 additions & 6 deletions
Original file line numberDiff line numberDiff line change
@@ -57,7 +57,7 @@ null (empty response body)
5757

5858
### HTTP request headers
5959

60-
- **Content-Type**: MediaTypes.APPLICATION_JSON
60+
- **Content-Type**: APPLICATION_JSON
6161
- **Accept**: Not defined
6262

6363
<a name="createUsersWithArrayInput"></a>
@@ -103,7 +103,7 @@ null (empty response body)
103103

104104
### HTTP request headers
105105

106-
- **Content-Type**: MediaTypes.APPLICATION_JSON
106+
- **Content-Type**: APPLICATION_JSON
107107
- **Accept**: Not defined
108108

109109
<a name="createUsersWithListInput"></a>
@@ -149,7 +149,7 @@ null (empty response body)
149149

150150
### HTTP request headers
151151

152-
- **Content-Type**: MediaTypes.APPLICATION_JSON
152+
- **Content-Type**: APPLICATION_JSON
153153
- **Accept**: Not defined
154154

155155
<a name="deleteUser"></a>
@@ -243,7 +243,7 @@ No authorization required
243243
### HTTP request headers
244244

245245
- **Content-Type**: Not defined
246-
- **Accept**: MediaTypes.APPLICATION_XML, MediaTypes.APPLICATION_JSON
246+
- **Accept**: APPLICATION_XML, APPLICATION_JSON
247247

248248
<a name="loginUser"></a>
249249
# **loginUser**
@@ -292,7 +292,7 @@ No authorization required
292292
### HTTP request headers
293293

294294
- **Content-Type**: Not defined
295-
- **Accept**: MediaTypes.APPLICATION_XML, MediaTypes.APPLICATION_JSON
295+
- **Accept**: APPLICATION_XML, APPLICATION_JSON
296296

297297
<a name="logoutUser"></a>
298298
# **logoutUser**
@@ -381,6 +381,6 @@ null (empty response body)
381381

382382
### HTTP request headers
383383

384-
- **Content-Type**: MediaTypes.APPLICATION_JSON
384+
- **Content-Type**: APPLICATION_JSON
385385
- **Accept**: Not defined
386386

0 commit comments

Comments
 (0)