{"type":"rich","html":"<iframe src=\"https://hatenablog-parts.com/embed?url=https%3A%2F%2Fwww.hacktotech.net%2Fentry%2Fspring-boot-kotlin-constraints-for-list-element\" title=\"SpringBoot + Kotlin\u3067List\u306e\u8981\u7d20\u306bConstraints\u3092\u304b\u3051\u305f\u304b\u3063\u305f\u8a71 - HackToTech\" class=\"embed-card embed-blogcard\" scrolling=\"no\" frameborder=\"0\" style=\"display: block; width: 100%; height: 190px; max-width: 500px; margin: 10px 0px;\"></iframe>","url":"https://www.hacktotech.net/entry/spring-boot-kotlin-constraints-for-list-element","description":"tl;dr \u30b3\u30f3\u30d1\u30a4\u30e9\u30aa\u30d7\u30b7\u30e7\u30f3\u306b -Xemit-jvm-type-annotations\u3092\u6307\u5b9a\u3059\u308b\u5fc5\u8981\u304c\u3042\u308b \u3042\u3068\u306e\u6587\u7ae0\u306f\u500b\u4eba\u7684\u306a\u30e1\u30e2 \u30ea\u30b9\u30c8\u306e\u8981\u7d20\u306bConstraints\u3092\u304b\u3051\u305f\u304b\u3063\u305f\u304c\u3001 \u306a\u3093\u304b\u4e00\u898b\u6b63\u3057\u304f\u898b\u3048\u308b\u306e\u306b\u6b63\u3057\u304f\u52d5\u304b\u306a\u304b\u3063\u305f package com.example.exampleboot3 import org.hibernate.validator.constraints.Length data class Request(val values: List<@Length(min = 1) String>) package com.example.exampleboot3 im\u2026","categories":["validation","kotlin","spring-boot"],"image_url":"https://cdn-ak.f.st-hatena.com/images/fotolife/a/atr0phy/20221211/20221211014802.png","blog_title":"HackToTech","published":"2023-10-29 04:00:00","title":"SpringBoot + Kotlin\u3067List\u306e\u8981\u7d20\u306bConstraints\u3092\u304b\u3051\u305f\u304b\u3063\u305f\u8a71","width":"100%","provider_name":"Hatena Blog","author_url":"https://blog.hatena.ne.jp/atr0phy/","author_name":"atr0phy","version":"1.0","provider_url":"https://hatena.blog","blog_url":"https://www.hacktotech.net/","height":"190"}