Commit Graph

69 Commits

Author SHA1 Message Date
Piotr Kubowicz
7b83462a83 [kotlin] Make API classes open (non-final) unless nonPublicApi is used (#22461)
* [kotlin] Make API classes open (non-final) unless nonPublicApi is used

By making those classes open, AspectJ can be used to enhance their
behavior.

I'm not changing kotlin-multiplatform templates, where 'open' was
already present before my changes.

Closes #22271

* Fail Kotlin sample compilation if API classes stop to be public

Serves as a 'regression test'.
2025-12-01 00:03:29 +08:00
Bruno Coelho
7a5d0d1a71 [kotlin][client] remove old deprecated apis (#21988) 2025-09-18 17:28:42 +08:00
William Cheng
3ebb299981 [kotlin-client] Support for integer enums with kotlinx with custom serializer (#21765)
* [kotlin-client] Add support for integer enums with custom serializer for kotlinx

* [kotlin-client] Fix @SerialName annotation being used on non-string enums

* Format samples

* remove blank line

* add tests for kotlin client with integer enum

* add folders

---------

Co-authored-by: CHervaudBetclic <c.hervaud@betclicgroup.com>
2025-08-18 00:11:43 +08:00
Nicklas Utgaard
89eea742fe avoid intersection type (#21378)
avoid intersection type by splitting the statements into separate code-branches. for each branch the type of `value` is therefor no longer an intersection

Fixes https://github.com/OpenAPITools/openapi-generator/issues/20636
2025-06-04 20:48:11 +01:00
Bruno Coelho
701b6bd576 [kotlin][client] make kotlinx serialization configurable (#20955)
* [kotlin][client] make kotlinx serialization configurable from outside

* [kotlin][client] make kotlinx serialization configurable from outside
2025-03-26 10:19:24 +00:00
Ross Sullivan
e1130c343a Added HTTP method+path to JavaDocs in kotlin clients (#20618)
* feat: Added HTTP method+path to JavaDocs in kotlin OkHTTP client

* feat: Added HTTP method+path to JavaDocs in kotlin Ktor client

* feat: Added HTTP method+path to JavaDocs in kotlin retrofit2 client

* feat: Added HTTP method+path to JavaDocs in kotlin vertex client

* feat: Added HTTP method+path to JavaDocs in kotlin volley client
2025-02-09 21:55:23 +08:00
Kirill Romanov
4e5a828c12 feat: add option to support non-ascii headers in kotlin client (#20331) 2024-12-15 16:46:42 +08:00
Jorge Fernandez
a447b5988d [Kotlin] fix #20231, OkHttp client can handle a field with a list of files (#20274)
* feat(issue-20231): Kotlin okhttp client handles correctly fields that are optional with multiple files.

* docs(issue-20231): add docstrings

* feat(issue-20231): Remove unnecessary test spec

* feat(issue-20231): Kotlin okhttp client handles correctly fields that are optional with multiple files.

* docs(issue-20231): add docstrings

* feat(issue-20231): Remove unnecessary test spec

* feat(issue-20231): Remove unnecessary if condition
2024-12-09 20:00:05 +08:00
Alexander Brandon Coles
3a37ba33a7 Fix typo "bellow" (#20268)
* Fix typo in constant name: s/BELLOW/BELOW/

* Fix typo ('bellow') in docs, comments and strings
2024-12-06 16:18:08 +00:00
William Cheng
8035da8639 Revert "[Kotlin] fix #20231, OkHttp client can handle a field with a list of…" (#20257)
This reverts commit 71ccc88037.
2024-12-05 17:04:42 +08:00
Kirill Romanov
05d4aa9f62 [kotlin][client] support text/plain in okhttp (#20250)
* refactor: simplify application/octet-stream check

* feat: support text/plain in kotlin okhttp client

* refactor: remove redundant always-false condition

content is ByteArray is checked earlier
2024-12-05 11:51:10 +08:00
Jorge Fernandez
71ccc88037 [Kotlin] fix #20231, OkHttp client can handle a field with a list of files (#20232)
* feat(issue-20231): Kotlin okhttp client handles correctly fields that are optional with multiple files.

* docs(issue-20231): add docstrings

* feat(issue-20231): Remove unnecessary test spec
2024-12-04 22:41:37 +08:00
Ross
23aa2e2cb2 Added default headers to ServerError<T> for Kotlin OkHTTP generator (#20161) 2024-11-22 13:10:22 +00:00
Jan Škrášek
d442fc9a65 [kotlin][client] do not generate Serializable(forClass) annotation as the serializer is already defined (#20092) 2024-11-14 14:10:07 +00:00
Pavel Sveda
acb16410c4 [Kotlin] Introduce support for Kotlin Explicit API Mode for Kotlin-Client generator (resolve #16506) (#19999)
* [Kotlin] Properly document nonPublicApi CLI option

* [Kotlin] Respect parameter name of parent KSerializer to avoid miss-behavior

* [Kotlin] Introduce support for Kotlin Explicit API Mode for Kotlin-Client generator (resolves #16506)
2024-10-30 21:57:47 +00:00
Bruno Coelho
462f450366 [kotlin] Map file and binary to ByteArray (#19840)
* [kotlin] Map file and binary to ByteArray

* [kotlin] Map file and binary to ByteArray
2024-10-11 08:59:16 +01:00
roelwuytens-androme
7d1e9997d0 [Kotlin] Allow other content-types when only interested in status-code / Unit (#19801)
* Allow Unit response

* Updating samples

* Improve comment for Unit shortcut
2024-10-07 13:18:51 +01:00
Victor Mosin
7a7c8c19ab [Kotlin][okhttp] replace okhttpclient with callfactory (#19422) 2024-08-22 21:19:32 +01:00
Bruno Coelho
42e8f762ac [Kotlin][Client] Encode default values with kotlinx serialization (#19253)
* [Kotlin][Client] Encode default values with kotlinx serialization

* [Kotlin][Client] Encode default values with kotlinx serialization
2024-07-29 08:42:57 +01:00
Bruno Coelho
21ad242ceb [kotlin][client] fix temp file name and remove old deprecated jvm-okhttp3 (#19064)
* [kotlin][client] fix temp file name and remove old deprecated jvm-okhttp3

* [kotlin][client] fix temp file name and remove old deprecated jvm-okhttp3

* [kotlin][client] fix temp file name and remove old deprecated jvm-okhttp3
2024-07-03 18:09:41 +01:00
Jimmy Ma
4e89436177 [kotlin] Fix a leak in the ApiClient (#18997) 2024-06-23 17:17:05 +08:00
William Cheng
f191904297 Add auto-generated test files for kotlin client (#17916)
* add auto-generated test files for kotlin client

* undo changes to doc

* add auto-generated model test files in kotlin clients

* update tests
2024-02-21 18:29:23 +08:00
Stefan Koppier
d0e533d573 [kotlin-client][jvm-spring-*] Fixed URL encoding (#17493)
* [kotlin-client][jvm-spring-*] do URL encoding via the UrlBuilder instead of manual replacement

* [kotlin-client][jvm-spring-*] Fixed imports

* ensure up-to-date

* Fixed syntax problem

* Removed unnecessary toString()
2024-01-10 15:24:29 +08:00
Noor Dawod
a67e07e132 Stop using internal variable from okhttp3 (#17458) 2023-12-22 11:07:08 +00:00
Robert Oschwald
ec835fbd94 Update kotlin-client okHttp3 api.mustache fixes 16410 (#16411)
- populate body into the ServerException message
2023-08-25 19:06:43 +01:00
Simon Wegendt
778a53a406 [Kotlin Client] Implement octet-stream/binary (#16341)
* Implement octet-stream/binary for Kotlin client code generator

* Fix OkHttp3 generator flavor
2023-08-17 10:40:22 +01:00
André Roaldseth
75b04bb965 Ensure enum classes toString() returns kotlin.String (#16247)
When creating an enum where a valid value is `String`, the override of toString() will be the wrong type.

Simply using `*kotlin*.String` will allow using `String` as a value in an enum.
2023-08-09 15:09:21 +08:00
Bruno Coelho
f31c2a4b17 [kotlin][client] Add new line at the end of all files (#16062)
* [kotlin][client] add new line at end of files

* [kotlin][client] add new line at end of files
2023-07-11 17:07:06 +08:00
Csaba Kozák
da9ad4a008 [kotlin][client] Small improvements (#15429)
* [kotlin][client] update Gradle wrapper in generated project

* [kotlin][client] Add @JsonClass(generateAdapter = false) to generated enums when using moshi library

This is needed, so the moshi generated R8 rules will include the enum classes:

https://github.com/square/moshi#enums

* [kotlin][client] Update generated samples
2023-05-09 16:28:54 +01:00
igokoro
b172f622b9 Do not use default locale in kotlin generated code (#14668)
Using default locale for non-user visible text transformations is not safe
and can result in bugs, in particular with Turkish locale.

More details in
https://mattryall.net/blog/the-infamous-turkish-locale-bug

Closes #14667
2023-03-14 16:47:15 +00:00
Bruno Coelho
d348754399 [kotlin][client] add info if endpoints requires authentication or not (#14445)
* [kotlin][client] add info if endpoints requires authentication or not

* [kotlin][client] update sample projects

* [kotlin][client] add info if endpoints requires authentication or not

* [kotlin][client] update sample projects
2023-01-13 10:29:27 +00:00
Segev Finer
53873ff6d8 [kotlin] Fix empty body with POST/etc in OkHttp client (#13666) 2022-10-11 12:18:24 +01:00
Bruno Coelho
1235ccd391 [kotlin][client] move info to readme (#13649)
* [kotlin][client] move info to readme

* [kotlin][client] update sample projects
2022-10-11 11:07:36 +01:00
Bruno Coelho
b9d71581dd [kotlin][client] fix file upload with okhttp (#13435)
* [kotlin][client] fix file upload with okhttp

* [kotlin][client] fix file upload with okhttp

* [kotlin][client] update sample projects

* [kotlin][client] fix file upload with okhttp3

* [kotlin][client] update sample projects
2022-09-17 22:08:07 +08:00
Segev Finer
9753086bcb Fix #13369: kotlin-client with okhttp doesn't escape path parameters with slashes correctly (#13370)
* Fix #13369

* Regenarate samples

* Fix support for okhttp3
2022-09-09 16:31:31 +08:00
Bruno Coelho
87dc75780a [kotlin][client] add support for unknown default case with Kotlinx Serialization (#12930)
* [kotlin][client] Kotlinx Serialization cleanup

* [kotlin][client] Kotlinx Serialization cleanup

* [kotlin][client] add support for unknown default case with Kotlinx Serialization

* [kotlin][client] add support for unknown default case with Kotlinx Serialization

* [kotlin][client] add support for unknown default case with Kotlinx Serialization

* [kotlin][client] improve Kotlinx Serialization naming

* [kotlin][client] improve Kotlinx Serialization naming
2022-07-26 09:42:19 +01:00
Bruno Coelho
8d62e597ae [kotlin][client] Kotlinx Serialization code formating (#12922)
* [kotlin][client] Kotlinx Serialization cleanup

* [kotlin][client] Kotlinx Serialization cleanup
2022-07-19 14:05:17 +01:00
Bruno Coelho
fe8187ba6d [Kotlin][Client] replace java.nio.* to avoid crash on Android API 25 and bellow (#12529)
* [Kotlin][Client] replace java.nio.* to avoid crash on Android API 25 and bellow

* [Kotlin][Client] update sample projects

* [Kotlin][Client] update sample projects
2022-06-04 16:26:59 +08:00
julienlavigne
4cfc32e426 Kotlin-client: Pass OkHttpClient instance to the base class (ApiClient) (#12493)
* Pass client to the base clase

* Regen samples
2022-05-30 10:40:58 +01:00
CodeR
73b0762f36 OkHttpClient - replacing static client usage with client Injection #12444 (#12448)
Co-authored-by: Grigory Tihonov <grigory.tihonov@lamoda.ru>
2022-05-24 13:51:47 +01:00
Johan Sjöblom
8950a9a3c0 [BUG][Kotlin-client] Handling default values of parameters (#12255)
* Bugfix Kotlin-client: Handling default values of parameters

* Adding object
2022-04-29 15:26:29 +01:00
Anton Koscejev
7851dfe148 [kotlin][client] fix encoding of individual parts of a multipart request (#11911)
* [kotlin][client] fix encoding (and Content-Type headers) of individual parts of a multipart request

* [kotlin][client] fix incorrect handling of binary downloads

* [kotlin][client] update samples
2022-04-14 01:52:01 +08:00
Bruno Coelho
00ef435018 [swift5][client] create comment to warn about android api version (#11830) 2022-03-09 00:03:02 +08:00
Bruno Coelho
c305c71715 [DefaultCodegen] generate unknown default case (#11078)
* [DefaultCodegen] generate unknown default case

* [DefaultCodegen] replace Swift custom implementation with the DefaultCodegen implementation

* [DefaultCodegen] generate unknown default case

* [DefaultCodegen] generate unknown default case

* [DefaultCodegen] generate unknown default case

* [DefaultCodegen] generate unknown default case

* [DefaultCodegen] generate unknown default case

* [DefaultCodegen] generate unknown default case

* [DefaultCodegen] generate unknown default case

* [DefaultCodegen] generate unknown default case

* [DefaultCodegen] update docs

* [DefaultCodegen] fix Swift enum case name

* [DefaultCodegen] generate unknown default case

* [DefaultCodegen] generate unknown default case
2021-12-21 15:40:13 +08:00
Bruno Coelho
eb224db540 [kotlin][client] remove old Date usage (#11082)
* [kotlin][client] remove old Date usage

* [kotlin][client] remove old Date usage
2021-12-14 16:03:12 +08:00
William Cheng
fbb61658df [kotlin][client] rename ApiInfrastructureResponse to ApiResponse (#11094)
* rename ApiInfrastructureResponse to ApiResponse

* mark ApiResponse as reserved word

* update samples, docs

* fix typo
2021-12-12 16:32:08 +08:00
Bruno Coelho
3247903caa [kotlin][client] update request exceptions (#11065) 2021-12-11 21:48:59 +08:00
Guus Bloemsma
0236f84c11 [kotlin-client] Allowing vendor types for json (#10758)
* Using the first serializable 'consumes' mediaType
Using all deserializable 'produces' mediaTypes
Matching json vendor types as json

* updating the generated samples
2021-12-11 21:48:00 +08:00
Alexander Karkossa
8e2e200e18 fix: changed Any to kotlin.Any (#10985) 2021-11-30 00:42:22 +08:00
Simon Wegendt
af2ca38ab7 [Kotlin] [OkHttp4] detailed requests (#10201)
* #10199: Extract from generated function per operation one that returns headers and other info

* add autogenerated output

* fix suspend generation

* fix return statement generation for coroutine variant
2021-11-16 22:34:26 +08:00