Skip to content

Commit

Permalink
Browse files Browse the repository at this point in the history
  • Loading branch information
wlybe committed Dec 13, 2023
2 parents 52420ae + 3ec321d commit 49c7742
Show file tree
Hide file tree
Showing 10 changed files with 35 additions and 27 deletions.
6 changes: 3 additions & 3 deletions docs/package-lock.json

Some generated files are not rendered by default. Learn more about how customized files appear on GitHub.

12 changes: 6 additions & 6 deletions docs/pnpm-lock.yaml

Some generated files are not rendered by default. Learn more about how customized files appear on GitHub.

2 changes: 1 addition & 1 deletion docs/src/en/backend-development/README.md
Original file line number Diff line number Diff line change
Expand Up @@ -165,7 +165,7 @@ In the next section, we'll use this starter to recreate our above REST API with

- Create a project on [start.spring.io (also called Spring initializr)](https://start.spring.io/) with the following dependencies: Spring Web and Spring Boot DevTools.
- Choose Kotlin as the language and Kotlin-Grade as the project manager.
- Add these dependencies: **Spring Web**, **Spring Boot DevTools** and **Spring Data JPA**.
- Add these dependencies: **Spring Web**, **Spring Boot DevTools**, **h2 database** and **Spring Data JPA**.
- Click on "Generate". Download the archive, unzip it, and open the project with IntelliJ (preferably) or VSCode.
- For VSCode, install a [Kotlin extension](https://marketplace.visualstudio.com/search?term=kotlin&target=VSCode&category=All%20categories&sortBy=Relevance) and [Spring Boot Extension Pack](https://marketplace.visualstudio.com/items?itemName=Pivotal.vscode-boot-dev-pack) ( :warning: Spring extension do not seem to support kotlin).
- Create `Customer` data class in the `model` package without the `@Serializable` annotation.
Expand Down
6 changes: 3 additions & 3 deletions docs/src/en/kotlin-features/README.md
Original file line number Diff line number Diff line change
Expand Up @@ -242,17 +242,17 @@ The official documentation provides exhaustive documentation on [Kotlin and JVM

#### Exercise 5

[Please click on this link to view the exercise](https://play.kotlinlang.org/#eyJ2ZXJzaW9uIjoiMS43LjEwIiwicGxhdGZvcm0iOiJqYXZhIiwiYXJncyI6IiIsIm5vbmVNYXJrZXJzIjp0cnVlLCJ0aGVtZSI6ImlkZWEiLCJjb2RlIjoiLy8gVGhlICd0aGlzJyBrZXl3b3JkIGluc2lkZSBhbiBleHRlbnNpb24gY29ycmVzcG9uZHMgdG8gdGhlIHJlY2VpdmVyIG9iamVjdCAodGhlIG9iamVjdCB0aGF0IGNhbGxzIHRoZSBleHRlbnNpb24pXG4vLyBUT0RPIGNlZWF0ZSBhbiBleHRlbnNpb24gZnVuY3Rpb24gJ21ha2VRdWVzdGlvbicgb2YgdGhlIFN0cmluZyBjbGFzcyB0aGF0IHJldHVybiBhIG5ldyBTdHJpbmcgdGhhdCBjb250YWlucyB0aGUgb3JpZ2luYWwgU3RyaW5nICsgJz8nIGF0IHRoZSBlbmRcblxuLy8gcHJpbnRsbihcIkhvdyBkbyB5b3UgZG9cIi5tYWtlUXVlc3Rpb24oKSkgLy8gc2hvdWxkIHByaW50IFwiSG93IGRvIHlvdSBkbyA/XCJcblxuY2xhc3MgTWFnZShocDogSW50KTogRXh0ZW5zaW9uczAxLkFkdmVudHVyZXIoaHApe1xuICAgIGNvbXBhbmlvbiBvYmplY3Qge1xuICAgICAgICB2YXIgY291bnQgPSAwXG4gICAgfVxuICAgIGluaXQge1xuICAgICAgICBNYWdlLmNvdW50ICs9IDFcbiAgICB9XG59XG4vLyBUT0RPIGRlZmluZSBhbiBleHRlbnNpb24gZnVuY3Rpb24gb24gdGhlIGNvbXBhbmlvbiBvYmplY3QgdGhhdCBwcmludHMgdGhlIG51bWJlciBvZiBjcmVhdGVkIG1hZ2VzLlxuLy8gaGludDogXCJ0aGlzXCIgYWxsb3dzIHRvIHJlZmVyZW5jZSB0aGUgY29tcGFuaW9uIG9iamVjdFxuXG52YWwgbWFnZSA9IE1hZ2UoMTAwKVxudmFsIG1hZ2UyID0gTWFnZSgyMDApXG5wcmludChcIk1hZ2UgY291bnQ6IFwiKVxuLy8gTWFnZS5wcmludENvdW50KCkgLy8gMlxuXG4vLyBUT0RPIGNyYXRlIGFuIGV4dGVuc2lvbiBmdW5jdGlvbiBcImV2ZW5Db3VudCgpOkludFwiIG9uIExpc3Q8SW50PiB0aGF0IHJldHVybiB0aGUgbnVtYmVyIG9mIGV2ZW4gdmFsdWVzXG5cbi8vcHJpbnRsbihsaXN0T2YoMSwgMiwgMywgNCwgNSkuZXZlbkNvdW50KCkpIC8vIHByaW50cyAyXG5cbi8vIFRPRE8gY3JlYXRlIGEgZ2VuZXJpYyBleHRlbnNpb24gZnVuY3Rpb24gXCJjb25jYXRlbmF0ZSgpOlN0cmluZ1wiIG9uIExpc3Q8VD4gdGhhdCBjb25jYXRlbmF0ZXMgdGhlIHRvU3RyaW5nIHZhbHVlIG9mIGFsbCBvZiB0aGUgZWxlbWVudHMgb2YgdGhlIGxpc3RcblxuLy8gcHJpbnRsbihsaXN0T2YoXCJIZWxsbyBcIiwgXCJXb3JsZFwiLCBcIkxpbmVcIikuY29uY2F0ZW5hdGUoKSkgLy8gc2hvdWxkIHByaW50IFwiSGVsbG8gV29ybGRMaW5lXCJcbi8vIHByaW50bG4obGlzdE9mKDEwMCwgMjAwLCAzMDApLmNvbmNhdGVuYXRlKCkpIC8vIHNob3VsZCBwcmludCBcIjEwMDIwMDMwMFwiXG5cbi8vIFRPRE8gY3JlYXRlIGEgZ2VuZXJpYyBleHRlbnNpb24gZnVuY3Rpb24gXCJMaXN0Py5tYWtlTm90TnVsbCgpOkxpc3QnICB0aGF0IHJldHVybnMgYW4gZW1wdHkgbGlzdCBpZiB0aGUgcmVjZWl2ZXIgaXMgbnVsbCwgb3IgdGhlIG9yaWdpbmFsIGxpc3Qgb3JoZXJ3aXNlXG5cbi8vIHByaW50bG4obGlzdE9mKDEsIDIsIDMpLm1ha2VOb3ROdWxsKCkpIC8vIHNob3VsZCBwcmludCBbMSwgMiwgM11cbi8vIHZhbCBsOiBMaXN0PEludD4/ID0gbnVsbFxuLy8gcHJpbnRsbihsLm1ha2VOb3ROdWxsKCkpIC8vIHNob3VsZCBwcmludCBbXSJ9)
[Please click on this link to view the exercise](https://play.kotlinlang.org/#eyJ2ZXJzaW9uIjoiMS45LjIwIiwicGxhdGZvcm0iOiJqYXZhIiwiYXJncyI6IiIsIm5vbmVNYXJrZXJzIjp0cnVlLCJ0aGVtZSI6ImlkZWEiLCJjb2RlIjoib3BlbiBjbGFzcyBBZHZlbnR1cmVyKHZhciBocDogSW50KXtcbiAgICB2YWwgbWF4SHAgPSBocFxuICAgIGZ1biBhdHRhY2soKTpTdHJpbmcgPSBcIkkgZGVhbHQgMTAgZGFtYWdlXCJcbn1cblxuLy8gLy8gLy8gVGhlICd0aGlzJyBrZXl3b3JkIGluc2lkZSBhbiBleHRlbnNpb24gY29ycmVzcG9uZHMgdG8gdGhlIHJlY2VpdmVyIG9iamVjdCAodGhlIG9iamVjdCB0aGF0IGNhbGxzIHRoZSBleHRlbnNpb24pXG4vLyBUT0RPIGNlZWF0ZSBhbiBleHRlbnNpb24gZnVuY3Rpb24gJ21ha2VRdWVzdGlvbicgb2YgdGhlIFN0cmluZyBjbGFzcyB0aGF0IHJldHVybiBhIG5ldyBTdHJpbmcgdGhhdCBjb250YWlucyB0aGUgb3JpZ2luYWwgU3RyaW5nICsgJz8nIGF0IHRoZSBlbmRcblxuLy8gcHJpbnRsbihcIkhvdyBkbyB5b3UgZG9cIi5tYWtlUXVlc3Rpb24oKSkgLy8gc2hvdWxkIHByaW50IFwiSG93IGRvIHlvdSBkbyA/XCJcblxuY2xhc3MgTWFnZShocDogSW50KTogQWR2ZW50dXJlcihocCl7XG4gICAgY29tcGFuaW9uIG9iamVjdCB7XG4gICAgICAgIHZhciBjb3VudCA9IDBcbiAgICB9XG4gICAgaW5pdCB7XG4gICAgICAgIE1hZ2UuY291bnQgKz0gMVxuICAgIH1cbn1cbi8vIFRPRE8gZGVmaW5lIGFuIGV4dGVuc2lvbiBmdW5jdGlvbiBvbiB0aGUgY29tcGFuaW9uIG9iamVjdCB0aGF0IHByaW50cyB0aGUgbnVtYmVyIG9mIGNyZWF0ZWQgbWFnZXMuXG4vLyBoaW50OiBcInRoaXNcIiBhbGxvd3MgdG8gcmVmZXJlbmNlIHRoZSBjb21wYW5pb24gb2JqZWN0XG5cbnZhbCBtYWdlID0gTWFnZSgxMDApXG52YWwgbWFnZTIgPSBNYWdlKDIwMClcbnByaW50KFwiTWFnZSBjb3VudDogXCIpXG4vLyBNYWdlLnByaW50Q291bnQoKSAvLyAyXG5cbi8vIFRPRE8gY3JhdGUgYW4gZXh0ZW5zaW9uIGZ1bmN0aW9uIFwiZXZlbkNvdW50KCk6SW50XCIgb24gTGlzdDxJbnQ+IHRoYXQgcmV0dXJuIHRoZSBudW1iZXIgb2YgZXZlbiB2YWx1ZXNcblxuLy9wcmludGxuKGxpc3RPZigxLCAyLCAzLCA0LCA1KS5ldmVuQ291bnQoKSkgLy8gcHJpbnRzIDJcblxuLy8gVE9ETyBjcmVhdGUgYSBnZW5lcmljIGV4dGVuc2lvbiBmdW5jdGlvbiBcImNvbmNhdGVuYXRlKCk6U3RyaW5nXCIgb24gTGlzdDxUPiB0aGF0IGNvbmNhdGVuYXRlcyB0aGUgdG9TdHJpbmcgdmFsdWUgb2YgYWxsIG9mIHRoZSBlbGVtZW50cyBvZiB0aGUgbGlzdFxuXG4vLyBwcmludGxuKGxpc3RPZihcIkhlbGxvIFwiLCBcIldvcmxkXCIsIFwiTGluZVwiKS5jb25jYXRlbmF0ZSgpKSAvLyBzaG91bGQgcHJpbnQgXCJIZWxsbyBXb3JsZExpbmVcIlxuLy8gcHJpbnRsbihsaXN0T2YoMTAwLCAyMDAsIDMwMCkuY29uY2F0ZW5hdGUoKSkgLy8gc2hvdWxkIHByaW50IFwiMTAwMjAwMzAwXCJcblxuLy8gVE9ETyBjcmVhdGUgYSBnZW5lcmljIGV4dGVuc2lvbiBmdW5jdGlvbiBcIkxpc3Q/Lm1ha2VOb3ROdWxsKCk6TGlzdCcgIHRoYXQgcmV0dXJucyBhbiBlbXB0eSBsaXN0IGlmIHRoZSByZWNlaXZlciBpcyBudWxsLCBvciB0aGUgb3JpZ2luYWwgbGlzdCBvcmhlcndpc2VcblxuLy8gcHJpbnRsbihsaXN0T2YoMSwgMiwgMykubWFrZU5vdE51bGwoKSkgLy8gc2hvdWxkIHByaW50IFsxLCAyLCAzXVxuLy8gdmFsIGw6IExpc3Q8SW50Pj8gPSBudWxsXG4vLyBwcmludGxuKGwubWFrZU5vdE51bGwoKSkgLy8gc2hvdWxkIHByaW50IFtdIn0=)

::: details Please open to see the solution(s)

[Solution](https://play.kotlinlang.org/#eyJ2ZXJzaW9uIjoiMS43LjEwIiwicGxhdGZvcm0iOiJqYXZhIiwiYXJncyI6IiIsIm5vbmVNYXJrZXJzIjp0cnVlLCJ0aGVtZSI6ImlkZWEiLCJjb2RlIjoiLy8gVGhlICd0aGlzJyBrZXl3b3JkIGluc2lkZSBhbiBleHRlbnNpb24gY29ycmVzcG9uZHMgdG8gdGhlIHJlY2VpdmVyIG9iamVjdCAodGhlIG9iamVjdCB0aGF0IGNhbGxzIHRoZSBleHRlbnNpb24pXG4vLyBUT0RPIGNlZWF0ZSBhbiBleHRlbnNpb24gZnVuY3Rpb24gJ21ha2VRdWVzdGlvbicgb2YgdGhlIFN0cmluZyBjbGFzcyB0aGF0IHJldHVybiBhIG5ldyBTdHJpbmcgdGhhdCBjb250YWlucyB0aGUgb3JpZ2luYWwgU3RyaW5nICsgJz8nIGF0IHRoZSBlbmRcblxuLy8gcHJpbnRsbihcIkhvdyBkbyB5b3UgZG9cIi5tYWtlUXVlc3Rpb24oKSkgLy8gc2hvdWxkIHByaW50IFwiSG93IGRvIHlvdSBkbyA/XCJcblxuLy8gVE9ETyBkZWZpbmUgYW4gZXh0ZW5zaW9uIGZ1bmN0aW9uIG9uIHRoZSBjb21wYW5pb24gb2JqZWN0IHRoYXQgcHJpbnRzIHRoZSBudW1iZXIgb2YgY3JlYXRlZCBtYWdlcy5cbmNsYXNzIE1hZ2UoaHA6IEludCk6IEV4dGVuc2lvbnMwMS5BZHZlbnR1cmVyKGhwKXtcbiAgICBjb21wYW5pb24gb2JqZWN0IHtcbiAgICAgICAgdmFyIGNvdW50ID0gMFxuICAgIH1cbiAgICBpbml0IHtcbiAgICAgICAgTWFnZS5jb3VudCArPSAxXG4gICAgfVxufVxuLy8gaGludDogXCJ0aGlzXCIgYWxsb3dzIHRvIHJlZmVyZW5jZSB0aGUgY29tcGFuaW9uIG9iamVjdFxuZnVuIE1hZ2UuQ29tcGFuaW9uLnByaW50Q291bnQoKSA9IHByaW50bG4odGhpcy5jb3VudClcblxudmFsIG1hZ2UgPSBNYWdlKDEwMClcbnZhbCBtYWdlMiA9IE1hZ2UoMjAwKVxucHJpbnQoXCJNYWdlIGNvdW50OiBcIilcbk1hZ2UucHJpbnRDb3VudCgpIC8vIDJcblxuLy8gVE9ETyBjcmF0ZSBhbiBleHRlbnNpb24gZnVuY3Rpb24gXCJldmVuQ291bnQoKTpJbnRcIiBvbiBMaXN0PEludD4gdGhhdCByZXR1cm4gdGhlIG51bWJlciBvZiBldmVuIHZhbHVlc1xuXG4vL3ByaW50bG4obGlzdE9mKDEsIDIsIDMsIDQsIDUpLmV2ZW5Db3VudCgpKSAvLyBwcmludHMgMlxuXG4vLyBUT0RPIGNyZWF0ZSBhIGdlbmVyaWMgZXh0ZW5zaW9uIGZ1bmN0aW9uIFwiY29uY2F0ZW5hdGUoKTpTdHJpbmdcIiBvbiBMaXN0PFQ+IHRoYXQgY29uY2F0ZW5hdGVzIHRoZSB0b1N0cmluZyB2YWx1ZSBvZiBhbGwgb2YgdGhlIGVsZW1lbnRzIG9mIHRoZSBsaXN0XG5mdW4gPFQ+IExpc3Q8VD4uY29uY2F0ZW5hdGUoKTogU3RyaW5nID0gdGhpcy5tYXAgeyB2IC0+IHYudG9TdHJpbmcoKSB9LnJlZHVjZSB7IGFjYywgcyAtPiBhY2MgKyBzIH1cbnByaW50bG4obGlzdE9mKFwiSGVsbG8gXCIsIFwiV29ybGRcIiwgXCJMaW5lXCIpLmNvbmNhdGVuYXRlKCkpIC8vIHNob3VsZCBwcmludCBcIkhlbGxvIFdvcmxkTGluZVwiXG5wcmludGxuKGxpc3RPZigxMDAsIDIwMCwgMzAwKS5jb25jYXRlbmF0ZSgpKSAvLyBzaG91bGQgcHJpbnQgXCIxMDAyMDAzMDBcIlxuXG4vLyBUT0RPIGNyZWF0ZSBhIGdlbmVyaWMgZXh0ZW5zaW9uIGZ1bmN0aW9uIFwiTGlzdD8ubWFrZU5vdE51bGwoKTpMaXN0JyAgdGhhdCByZXR1cm4gYW4gZW1wdHkgbGlzdCBpZiB0aGUgcmVjZWl2ZXIgaXMgbnVsbCwgb3IgdGhlIG9yaWdpbmFsIGxpc3Qgb3JoZXJ3aXNlXG5mdW4gPFQ+IExpc3Q8VD4/Lm1ha2VOb3ROdWxsKCk6IExpc3Q8VD57XG4gICAgcmV0dXJuIGxpc3RPZjxUPigpXG59XG5wcmludGxuKGxpc3RPZigxLCAyLCAzKS5tYWtlTm90TnVsbCgpKSAvLyBzaG91bGQgcHJpbnQgWzEsIDIsIDNdXG52YWwgbDogTGlzdDxJbnQ+PyA9IG51bGxcbnByaW50bG4obC5tYWtlTm90TnVsbCgpKSAvLyBzaG91bGQgcHJpbnQgW10ifQ==)
[Solution](https://play.kotlinlang.org/#eyJ2ZXJzaW9uIjoiMS45LjIwIiwicGxhdGZvcm0iOiJqYXZhIiwiYXJncyI6IiIsIm5vbmVNYXJrZXJzIjp0cnVlLCJ0aGVtZSI6ImlkZWEiLCJjb2RlIjoib3BlbiBjbGFzcyBBZHZlbnR1cmVyKHZhciBocDogSW50KXtcbiAgICB2YWwgbWF4SHAgPSBocFxuICAgIGZ1biBhdHRhY2soKTpTdHJpbmcgPSBcIkkgZGVhbHQgMTAgZGFtYWdlXCJcbn1cbi8vIFRoZSAndGhpcycga2V5d29yZCBpbnNpZGUgYW4gZXh0ZW5zaW9uIGNvcnJlc3BvbmRzIHRvIHRoZSByZWNlaXZlciBvYmplY3QgKHRoZSBvYmplY3QgdGhhdCBjYWxscyB0aGUgZXh0ZW5zaW9uKVxuLy8gVE9ETyBjZWVhdGUgYW4gZXh0ZW5zaW9uIGZ1bmN0aW9uICdtYWtlUXVlc3Rpb24nIG9mIHRoZSBTdHJpbmcgY2xhc3MgdGhhdCByZXR1cm4gYSBuZXcgU3RyaW5nIHRoYXQgY29udGFpbnMgdGhlIG9yaWdpbmFsIFN0cmluZyArICc/JyBhdCB0aGUgZW5kXG5mdW4gU3RyaW5nLm1ha2VRdWVzdGlvbigpID0gXCIke3RoaXN9ID9cIlxuXG4vLyBUT0RPIGRlZmluZSBhbiBleHRlbnNpb24gZnVuY3Rpb24gb24gdGhlIGNvbXBhbmlvbiBvYmplY3QgdGhhdCBwcmludHMgdGhlIG51bWJlciBvZiBjcmVhdGVkIG1hZ2VzLlxuY2xhc3MgTWFnZShocDogSW50KTogQWR2ZW50dXJlcihocCl7XG4gICAgY29tcGFuaW9uIG9iamVjdCB7XG4gICAgICAgIHZhciBjb3VudCA9IDBcbiAgICB9XG4gICAgaW5pdCB7XG4gICAgICAgIE1hZ2UuY291bnQgKz0gMVxuICAgIH1cbn1cbi8vIGhpbnQ6IFwidGhpc1wiIGFsbG93cyB0byByZWZlcmVuY2UgdGhlIGNvbXBhbmlvbiBvYmplY3RcbmZ1biBNYWdlLkNvbXBhbmlvbi5wcmludENvdW50KCkgPSBwcmludGxuKHRoaXMuY291bnQpXG5cblxuZnVuIG1haW4oKXtcbiAgICAvLyBwcmludGxuKFwiSG93IGRvIHlvdSBkb1wiLm1ha2VRdWVzdGlvbigpKSBzaG91bGQgcHJpbnQgXCJIb3cgZG8geW91IGRvID9cIlxuICAgIHByaW50bG4oXCJIb3cgZG8geW91IGRvXCIubWFrZVF1ZXN0aW9uKCkpXG4gICAgXG4gICAgdmFsIG1hZ2UgPSBNYWdlKDEwMClcbiAgICB2YWwgbWFnZTIgPSBNYWdlKDIwMClcbiAgICBwcmludChcIk1hZ2UgY291bnQ6IFwiKVxuICAgIE1hZ2UucHJpbnRDb3VudCgpIC8vIDJcblxuICAgIC8vIFRPRE8gY3JhdGUgYW4gZXh0ZW5zaW9uIGZ1bmN0aW9uIFwiZXZlbkNvdW50KCk6SW50XCIgb24gTGlzdDxJbnQ+IHRoYXQgcmV0dXJucyB0aGUgbnVtYmVyIG9mIGV2ZW4gdmFsdWVzXG5cbiAgICAvL3ByaW50bG4obGlzdE9mKDEsIDIsIDMsIDQsIDUpLmV2ZW5Db3VudCgpKSAvLyBwcmludHMgMlxuXG4gICAgLy8gVE9ETyBjcmVhdGUgYSBnZW5lcmljIGV4dGVuc2lvbiBmdW5jdGlvbiBcImNvbmNhdGVuYXRlKCk6U3RyaW5nXCIgb24gTGlzdDxUPiB0aGF0IGNvbmNhdGVuYXRlcyB0aGUgdG9TdHJpbmcgdmFsdWUgb2YgYWxsIG9mIHRoZSBlbGVtZW50cyBvZiB0aGUgbGlzdFxuICAgIGZ1biA8VD4gTGlzdDxUPi5jb25jYXRlbmF0ZSgpOiBTdHJpbmcgPSB0aGlzLm1hcCB7IHYgLT4gdi50b1N0cmluZygpIH0ucmVkdWNlIHsgYWNjLCBzIC0+IGFjYyArIHMgfVxuICAgIHByaW50bG4obGlzdE9mKFwiSGVsbG8gXCIsIFwiV29ybGRcIiwgXCJMaW5lXCIpLmNvbmNhdGVuYXRlKCkpIC8vIHNob3VsZCBwcmludCBcIkhlbGxvIFdvcmxkTGluZVwiXG4gICAgcHJpbnRsbihsaXN0T2YoMTAwLCAyMDAsIDMwMCkuY29uY2F0ZW5hdGUoKSkgLy8gc2hvdWxkIHByaW50IFwiMTAwMjAwMzAwXCJcblxuICAgIC8vIFRPRE8gY3JlYXRlIGEgZ2VuZXJpYyBleHRlbnNpb24gZnVuY3Rpb24gXCJMaXN0Py5tYWtlTm90TnVsbCgpOkxpc3QnICB0aGF0IHJldHVybiBhbiBlbXB0eSBsaXN0IGlmIHRoZSByZWNlaXZlciBpcyBudWxsLCBvciB0aGUgb3JpZ2luYWwgbGlzdCBvcmhlcndpc2VcbiAgICBmdW4gPFQ+IExpc3Q8VD4/Lm1ha2VOb3ROdWxsKCk6IExpc3Q8VD57XG4gICAgICAgIHJldHVybiBsaXN0T2Y8VD4oKVxuICAgIH1cbiAgICBwcmludGxuKGxpc3RPZigxLCAyLCAzKS5tYWtlTm90TnVsbCgpKSAvLyBzaG91bGQgcHJpbnQgWzEsIDIsIDNdXG4gICAgdmFsIGw6IExpc3Q8SW50Pj8gPSBudWxsXG4gICAgcHJpbnRsbihsLm1ha2VOb3ROdWxsKCkpIC8vIHNob3VsZCBwcmludCBbXVxufSJ9)

:::

#### Exercise 6

[Please click on this link to view the exercise](https://play.kotlinlang.org/#eyJ2ZXJzaW9uIjoiMS43LjEwIiwicGxhdGZvcm0iOiJqYXZhIiwiYXJncyI6IiIsIm5vbmVNYXJrZXJzIjp0cnVlLCJ0aGVtZSI6ImlkZWEiLCJjb2RlIjoiLy8gVE9ETyB1c2luZyB0aGUgb2JqZWN0IGRlY2xhcmF0aW9uIHN5bmN0YXgsIGNyZWF0ZSBhIHNpbmdsZXRvbiBEcmlua0Rpc3BlbnNlciB0aGF0IGhhcyB0aGVzZSBtZXRob2RzOiBwdXREcmluayhEcmluayksIExpc3Q8RHJpbms+IGFsbEF2YWlsYWJsZURyaW5rcygpIGFuZCBwaWNrTGFzdERyaW5rKCk6RHJpbmtcbi8vICBTeW50YXg6IG9iamVjdCBTaW5nbGV0b25OYW1lIHsgLi4uIH0gfVxuXG4vLyBUT0RPIHVuY29tbWVudCB0byB0ZXN0IHlvdSBjb2RlXG4vL0RyaW5rRGlzcGVuc2VyLnB1dERyaW5rKE9iamVjdEV4cHJlc3Npb25zMDEuRHJpbmsoMTAwKSlcbi8vRHJpbmtEaXNwZW5zZXIucHV0RHJpbmsoT2JqZWN0RXhwcmVzc2lvbnMwMS5Ecmluayg1MCkpXG4vL0RyaW5rRGlzcGVuc2VyLnB1dERyaW5rKE9iamVjdEV4cHJlc3Npb25zMDEuRHJpbmsoNzApKVxuLy9wcmludGxuKERyaW5rRGlzcGVuc2VyLmFsbEF2YWlsYWJsZURyaW5rcygpLnNpemUpIC8vIDNcbi8vRHJpbmtEaXNwZW5zZXIucHV0RHJpbmsoT2JqZWN0RXhwcmVzc2lvbnMwMS5waWNrTGFzdERyaW5rKCkpXG4vL3ByaW50bG4oRHJpbmtEaXNwZW5zZXIuYWxsQXZhaWxhYmxlRHJpbmtzKCkuc2l6ZSkgLy8gMlxuXG4vLyBUT0RPIGNyZWF0ZSBhIGNsYXNzIG5hbWVkIERyaW5rTWFrZXIuIFdlIHdhbnQgdG8gaGF2ZSBhIHN0YXRpYyBtZXRob2QgXCJjcmVhdGVEcmluaygpOiBPYmplY3RFeHByZXNzaW9uczAxLkRyaW5rXCIgdGhhdCBjcmVhdGVzIGEgbmV3IERyaW5rLlxuLy8gICBBbiBvYmplY3QgZGVjbGFyYXRpb24gaW5zaWRlIGEgY2xhc3MgY2FuIGJlIG1hcmtlZCBhcyBjb21wYW5pb25cbi8vICAgU3ludGF4OlxuLypcbmNsYXNzIENsYXNzTmFtZSB7XG4gICAgY29tcGFuaW9uIG9iamVjdCAob3B0aW9ubmFsIG5hbWUpIHtcbiAgICAgICAgLi4uXG4gICAgfVxufVxuKi9cblxuXG4vLyBUT0RPIHVuY29tbWVudCB0byB0ZXN0XG4vL3ZhbCBkcmluayA9IERyaW5rTWFrZXIuY3JlYXRlRHJpbmsoKVxuLy92YWwgZHJpbmsyID0gRHJpbmtNYWtlci5Db21wYW5pb24uY3JlYXRlRHJpbmsoKVxuXG4vLyBUT0RPIHdoYXQgaXMgdGhlIHR5cGUgb2YgY29tcGFuaW9uT2JqZWN0XG4vL3ZhbCBjb21wYW5pb25PYmplY3QgPSBEcmlua01ha2VyXG4vL2NvbXBhbmlvbk9iamVjdC5jcmVhdGVEcmluaygpXG5cbi8vIFRPRE8gbWFrZSB0aGUgZWFybGllciBjb21wYW5pb24gb2JqZWN0IGltcGxlbWVudCB0aGUgZm9sbG93aW5nIENvdW50ZXIgaW50ZXJmYWNlIGFuZCBjb3VudCB0aGUgbnVtYmVyIG9mIGNyZWF0ZWQgRHJpbmtzXG5pbnRlcmZhY2UgQ291bnRlcntcbiAgICB2YXIgY291bnQ6IEludFxufVxuLy8gVE9ETyB1bmNvbW1lbnQgdG8gdGVzdFxuLy9wcmludGxuKERyaW5rTWFrZXIuY291bnQpIC8vIDMifQ==)
[Please click on this link to view the exercise](https://play.kotlinlang.org/#eyJ2ZXJzaW9uIjoiMS45LjIwIiwicGxhdGZvcm0iOiJqYXZhIiwiYXJncyI6IiIsIm5vbmVNYXJrZXJzIjp0cnVlLCJ0aGVtZSI6ImlkZWEiLCJjb2RlIjoib3BlbiBjbGFzcyBEcmluayh2YXIgdm9sdW1lOiBJbnQpe1xuICAgIG9wZW4gZnVuIGNvbnN1bWUoY29uc3VtZWRWb2x1bWU6IEludCl7XG4gICAgICAgIHRoaXMudm9sdW1lIC09IGNvbnN1bWVkVm9sdW1lXG4gICAgfVxufVxuLyogVE9ETyB1c2luZyB0aGUgb2JqZWN0IGRlY2xhcmF0aW9uIHN5bmN0YXgsIGNyZWF0ZSBhIHNpbmdsZXRvbiBEcmlua0Rpc3BlbnNlciB0aGF0IGhhcyB0aGVzZSBtZXRob2RzOiBwdXREcmluayhEcmluayksXG4gIExpc3Q8RHJpbms+IGFsbEF2YWlsYWJsZURyaW5rcygpIGFuZCBwaWNrTGFzdERyaW5rKCk6RHJpbmsgKi9cbiAgXG4vLyAgU3ludGF4OiBvYmplY3QgU2luZ2xldG9uTmFtZSB7IC4uLiB9IH1cblxuLy8gVE9ETyB1bmNvbW1lbnQgdG8gdGVzdCB5b3UgY29kZVxuLy9Ecmlua0Rpc3BlbnNlci5wdXREcmluayhEcmluaygxMDApKVxuLy9Ecmlua0Rpc3BlbnNlci5wdXREcmluayhEcmluayg1MCkpXG4vL0RyaW5rRGlzcGVuc2VyLnB1dERyaW5rKERyaW5rKDcwKSlcbi8vcHJpbnRsbihEcmlua0Rpc3BlbnNlci5hbGxBdmFpbGFibGVEcmlua3MoKS5zaXplKSAvLyAzXG4vL0RyaW5rRGlzcGVuc2VyLnB1dERyaW5rKHBpY2tMYXN0RHJpbmsoKSlcbi8vcHJpbnRsbihEcmlua0Rpc3BlbnNlci5hbGxBdmFpbGFibGVEcmlua3MoKS5zaXplKSAvLyAyXG5cbi8vIFRPRE8gY3JlYXRlIGEgY2xhc3MgbmFtZWQgRHJpbmtNYWtlci4gV2Ugd2FudCB0byBoYXZlIGEgc3RhdGljIG1ldGhvZCBcImNyZWF0ZURyaW5rKCk6IE9iamVjdEV4cHJlc3Npb25zMDEuRHJpbmtcIiB0aGF0IGNyZWF0ZXMgYSBuZXcgRHJpbmsuXG4vLyAgIEFuIG9iamVjdCBkZWNsYXJhdGlvbiBpbnNpZGUgYSBjbGFzcyBjYW4gYmUgbWFya2VkIGFzIGNvbXBhbmlvblxuLy8gICBTeW50YXg6XG4vKlxuY2xhc3MgQ2xhc3NOYW1lIHtcbiAgICBjb21wYW5pb24gb2JqZWN0IChvcHRpb25uYWwgbmFtZSkge1xuICAgICAgICAuLi5cbiAgICB9XG59XG4qL1xuXG5cbi8vIFRPRE8gdW5jb21tZW50IHRvIHRlc3Rcbi8vdmFsIGRyaW5rID0gRHJpbmtNYWtlci5jcmVhdGVEcmluaygpXG4vL3ZhbCBkcmluazIgPSBEcmlua01ha2VyLkNvbXBhbmlvbi5jcmVhdGVEcmluaygpXG5cbi8vIFRPRE8gd2hhdCBpcyB0aGUgdHlwZSBvZiBjb21wYW5pb25PYmplY3Rcbi8vdmFsIGNvbXBhbmlvbk9iamVjdCA9IERyaW5rTWFrZXJcbi8vY29tcGFuaW9uT2JqZWN0LmNyZWF0ZURyaW5rKClcblxuLy8gVE9ETyBtYWtlIHRoZSBlYXJsaWVyIGNvbXBhbmlvbiBvYmplY3QgaW1wbGVtZW50IHRoZSBmb2xsb3dpbmcgQ291bnRlciBpbnRlcmZhY2UgYW5kIGNvdW50IHRoZSBudW1iZXIgb2YgY3JlYXRlZCBEcmlua3NcbmludGVyZmFjZSBDb3VudGVye1xuICAgIHZhciBjb3VudDogSW50XG59XG4vLyBUT0RPIHVuY29tbWVudCB0byB0ZXN0XG4vL3ByaW50bG4oRHJpbmtNYWtlci5jb3VudCkgLy8gMyJ9)

::: details Please open to see the solution(s)

Expand Down
4 changes: 2 additions & 2 deletions material/rest-api-ktor-server/http_requests/customer.http
Original file line number Diff line number Diff line change
Expand Up @@ -12,7 +12,7 @@ Content-Type: application/json
"email": "[email protected]"
}
###
POST http://{{base_customer_url}}
POST {{base_customer_url}}
Content-Type: application/json

{
Expand Down Expand Up @@ -45,6 +45,6 @@ Accept: application/json
GET {{base_customer_url}}/500
Accept: application/json
###
DELETE {{base_customer_url}}/100
DELETE {{base_customer_url}}/
###
DELETE {{base_customer_url}}/500
Binary file modified material/rest-api-spring-kotlin/gradle/wrapper/gradle-wrapper.jar
Binary file not shown.
Original file line number Diff line number Diff line change
@@ -1,5 +1,6 @@
distributionBase=GRADLE_USER_HOME
distributionPath=wrapper/dists
distributionUrl=https\://services.gradle.org/distributions/gradle-7.6.1-bin.zip
distributionUrl=https\://services.gradle.org/distributions/gradle-8.5-bin.zip
networkTimeout=10000
zipStoreBase=GRADLE_USER_HOME
zipStorePath=wrapper/dists
Loading

0 comments on commit 49c7742

Please sign in to comment.