{"id":591,"date":"2025-03-15T15:37:38","date_gmt":"2025-03-15T14:37:38","guid":{"rendered":"https:\/\/www.javaeinfacherkl\u00e4rt.de\/?p=591"},"modified":"2025-04-11T15:49:28","modified_gmt":"2025-04-11T14:49:28","slug":"namenskonventionen-in-der-java-entwicklung","status":"publish","type":"post","link":"https:\/\/www.xn--javaeinfacherklrt-4qb.de\/?p=591","title":{"rendered":"Namenskonventionen in der Java-Entwicklung"},"content":{"rendered":"\n<p>Die Einhaltung von Namenskonventionen ist in der Java-Entwicklung ein zentraler Bestandteil der Codequalit\u00e4t. Sie f\u00f6rdern die Lesbarkeit, erleichtern die Wartung und sorgen f\u00fcr ein einheitliches Erscheinungsbild des Codes \u2013 unabh\u00e4ngig davon, wer ihn geschrieben hat. In diesem Artikel werden die \u00fcblichen Namenskonventionen in der Java-Entwicklung vorgestellt, gegliedert nach den wichtigsten Sprachelementen: Klassen, Interfaces, Methoden, Variablen, Pakete, Enums, Annotationen und mehr.<\/p>\n\n\n\n<h2 class=\"wp-block-heading\">1. Klassen<\/h2>\n\n\n\n<p><strong>Konvention:<\/strong> CamelCase, Beginn mit einem Gro\u00dfbuchstaben (UpperCamelCase oder PascalCase)<\/p>\n\n\n\n<p><strong>Beispiel:<\/strong><\/p>\n\n\n<pre class=\"wp-block-code\" aria-describedby=\"shcb-language-1\" data-shcb-language-name=\"PHP\" data-shcb-language-slug=\"php\"><span><code class=\"hljs language-php\"><span class=\"hljs-keyword\">public<\/span> <span class=\"hljs-class\"><span class=\"hljs-keyword\">class<\/span> <span class=\"hljs-title\">CustomerService<\/span> <\/span>{}\n<span class=\"hljs-keyword\">public<\/span> <span class=\"hljs-class\"><span class=\"hljs-keyword\">class<\/span> <span class=\"hljs-title\">OrderProcessor<\/span> <\/span>{}\n<\/code><\/span><small class=\"shcb-language\" id=\"shcb-language-1\"><span class=\"shcb-language__label\">Code-Sprache:<\/span> <span class=\"shcb-language__name\">PHP<\/span> <span class=\"shcb-language__paren\">(<\/span><span class=\"shcb-language__slug\">php<\/span><span class=\"shcb-language__paren\">)<\/span><\/small><\/pre>\n\n\n<p><strong>Richtlinien:<\/strong><\/p>\n\n\n\n<ul class=\"wp-block-list\">\n<li>Der Name sollte ein Substantiv oder eine Substantivphrase sein.<\/li>\n\n\n\n<li>Er sollte den Zweck der Klasse beschreiben.<\/li>\n\n\n\n<li>Abk\u00fcrzungen sollten sparsam und konsistent verwendet werden (z.\u202fB. <code>XmlParser<\/code>, nicht <code>XMLparser<\/code> oder <code>xmlParser<\/code>).<\/li>\n<\/ul>\n\n\n\n<h2 class=\"wp-block-heading\">2. Interfaces<\/h2>\n\n\n\n<p><strong>Konvention:<\/strong> Wie bei Klassen: UpperCamelCase<\/p>\n\n\n\n<p><strong>Beispiel:<\/strong><\/p>\n\n\n<pre class=\"wp-block-code\" aria-describedby=\"shcb-language-2\" data-shcb-language-name=\"PHP\" data-shcb-language-slug=\"php\"><span><code class=\"hljs language-php\"><span class=\"hljs-keyword\">public<\/span> <span class=\"hljs-class\"><span class=\"hljs-keyword\">interface<\/span> <span class=\"hljs-title\">Serializable<\/span> <\/span>{}\n<span class=\"hljs-keyword\">public<\/span> <span class=\"hljs-class\"><span class=\"hljs-keyword\">interface<\/span> <span class=\"hljs-title\">DataProvider<\/span> <\/span>{}\n<\/code><\/span><small class=\"shcb-language\" id=\"shcb-language-2\"><span class=\"shcb-language__label\">Code-Sprache:<\/span> <span class=\"shcb-language__name\">PHP<\/span> <span class=\"shcb-language__paren\">(<\/span><span class=\"shcb-language__slug\">php<\/span><span class=\"shcb-language__paren\">)<\/span><\/small><\/pre>\n\n\n<p><strong>Richtlinien:<\/strong><\/p>\n\n\n\n<ul class=\"wp-block-list\">\n<li>Interfaces benennen h\u00e4ufig F\u00e4higkeiten (Adjektive wie <code>Readable<\/code>, <code>Runnable<\/code>) oder Rollen (<code>Observer<\/code>, <code>Listener<\/code>).<\/li>\n\n\n\n<li>Das Pr\u00e4fix \u201eI\u201c (wie <code>IService<\/code>) ist in der Java-Welt <strong>ungew\u00f6hnlich<\/strong> und sollte vermieden werden, da es aus der .NET-Welt stammt.<\/li>\n\n\n\n<li>Wenn ein Interface eine Funktionalit\u00e4t beschreibt, die eine konkrete Klasse implementiert, sollte der Name abstrakt genug sein, um verschiedene Implementierungen zuzulassen.<\/li>\n<\/ul>\n\n\n\n<h2 class=\"wp-block-heading\">3. Methoden<\/h2>\n\n\n\n<p><strong>Konvention:<\/strong> camelCase, Beginn mit einem Kleinbuchstaben<\/p>\n\n\n\n<p><strong>Beispiel:<\/strong><\/p>\n\n\n<pre class=\"wp-block-code\" aria-describedby=\"shcb-language-3\" data-shcb-language-name=\"JavaScript\" data-shcb-language-slug=\"javascript\"><span><code class=\"hljs language-javascript\">public <span class=\"hljs-keyword\">void<\/span> processOrder() {}\npublic <span class=\"hljs-built_in\">String<\/span> getCustomerName() {}\n<\/code><\/span><small class=\"shcb-language\" id=\"shcb-language-3\"><span class=\"shcb-language__label\">Code-Sprache:<\/span> <span class=\"shcb-language__name\">JavaScript<\/span> <span class=\"shcb-language__paren\">(<\/span><span class=\"shcb-language__slug\">javascript<\/span><span class=\"shcb-language__paren\">)<\/span><\/small><\/pre>\n\n\n<p><strong>Richtlinien:<\/strong><\/p>\n\n\n\n<ul class=\"wp-block-list\">\n<li>Der Name sollte ein Verb oder eine Verbphrase sein.<\/li>\n\n\n\n<li>Getter und Setter folgen dem Schema <code>getX()<\/code> und <code>setX()<\/code> (z.\u202fB. <code>getName()<\/code>, <code>setAge()<\/code>).<\/li>\n\n\n\n<li>Boolean-Methoden beginnen \u00fcblicherweise mit <code>is<\/code>, <code>has<\/code> oder <code>can<\/code> (z.\u202fB. <code>isActive()<\/code>, <code>hasPermission()<\/code>).<\/li>\n<\/ul>\n\n\n\n<h2 class=\"wp-block-heading\">4. Variablen<\/h2>\n\n\n\n<h3 class=\"wp-block-heading\">4.1 Lokale Variablen und Parameter<\/h3>\n\n\n\n<p><strong>Konvention:<\/strong> camelCase, Beginn mit einem Kleinbuchstaben<\/p>\n\n\n\n<p><strong>Beispiel:<\/strong><\/p>\n\n\n<pre class=\"wp-block-code\" aria-describedby=\"shcb-language-4\" data-shcb-language-name=\"JavaScript\" data-shcb-language-slug=\"javascript\"><span><code class=\"hljs language-javascript\">int itemCount;\n<span class=\"hljs-built_in\">String<\/span> customerName;\n<\/code><\/span><small class=\"shcb-language\" id=\"shcb-language-4\"><span class=\"shcb-language__label\">Code-Sprache:<\/span> <span class=\"shcb-language__name\">JavaScript<\/span> <span class=\"shcb-language__paren\">(<\/span><span class=\"shcb-language__slug\">javascript<\/span><span class=\"shcb-language__paren\">)<\/span><\/small><\/pre>\n\n\n<p><strong>Richtlinien:<\/strong><\/p>\n\n\n\n<ul class=\"wp-block-list\">\n<li>Der Name sollte beschreiben, was die Variable enth\u00e4lt.<\/li>\n\n\n\n<li>Kurze Namen wie <code>i<\/code>, <code>j<\/code> oder <code>tmp<\/code> sind in kurzen Schleifen akzeptabel, sollten aber nicht \u00fcber ihren G\u00fcltigkeitsbereich hinaus verwendet werden.<\/li>\n<\/ul>\n\n\n\n<h3 class=\"wp-block-heading\">4.2 Konstanten<\/h3>\n\n\n\n<p><strong>Konvention:<\/strong> Alle Buchstaben gro\u00df, Worte durch Unterstrich getrennt (UPPER_SNAKE_CASE)<\/p>\n\n\n\n<p><strong>Beispiel:<\/strong><\/p>\n\n\n<pre class=\"wp-block-code\" aria-describedby=\"shcb-language-5\" data-shcb-language-name=\"PHP\" data-shcb-language-slug=\"php\"><span><code class=\"hljs language-php\"><span class=\"hljs-keyword\">public<\/span> <span class=\"hljs-keyword\">static<\/span> <span class=\"hljs-keyword\">final<\/span> int MAX_RETRY_COUNT = <span class=\"hljs-number\">5<\/span>;\n<span class=\"hljs-keyword\">public<\/span> <span class=\"hljs-keyword\">static<\/span> <span class=\"hljs-keyword\">final<\/span> String DEFAULT_ENCODING = <span class=\"hljs-string\">\"UTF-8\"<\/span>;\n<\/code><\/span><small class=\"shcb-language\" id=\"shcb-language-5\"><span class=\"shcb-language__label\">Code-Sprache:<\/span> <span class=\"shcb-language__name\">PHP<\/span> <span class=\"shcb-language__paren\">(<\/span><span class=\"shcb-language__slug\">php<\/span><span class=\"shcb-language__paren\">)<\/span><\/small><\/pre>\n\n\n<p><strong>Richtlinien:<\/strong><\/p>\n\n\n\n<ul class=\"wp-block-list\">\n<li>Konstanten sind in der Regel <code>static final<\/code>.<\/li>\n\n\n\n<li>Sie sollten global verst\u00e4ndlich sein und unver\u00e4nderlich bleiben.<\/li>\n<\/ul>\n\n\n\n<h2 class=\"wp-block-heading\">5. Pakete<\/h2>\n\n\n\n<p><strong>Konvention:<\/strong> Alles in Kleinbuchstaben, getrennt durch Punkte<\/p>\n\n\n\n<p><strong>Beispiel:<\/strong><\/p>\n\n\n<pre class=\"wp-block-code\" aria-describedby=\"shcb-language-6\" data-shcb-language-name=\"CSS\" data-shcb-language-slug=\"css\"><span><code class=\"hljs language-css\"><span class=\"hljs-selector-tag\">de<\/span><span class=\"hljs-selector-class\">.beispiel<\/span><span class=\"hljs-selector-class\">.shop<\/span><span class=\"hljs-selector-class\">.kunde<\/span>;\n<span class=\"hljs-selector-tag\">com<\/span><span class=\"hljs-selector-class\">.example<\/span><span class=\"hljs-selector-class\">.project<\/span><span class=\"hljs-selector-class\">.util<\/span>;\n<\/code><\/span><small class=\"shcb-language\" id=\"shcb-language-6\"><span class=\"shcb-language__label\">Code-Sprache:<\/span> <span class=\"shcb-language__name\">CSS<\/span> <span class=\"shcb-language__paren\">(<\/span><span class=\"shcb-language__slug\">css<\/span><span class=\"shcb-language__paren\">)<\/span><\/small><\/pre>\n\n\n<p><strong>Richtlinien:<\/strong><\/p>\n\n\n\n<ul class=\"wp-block-list\">\n<li>Der Paketname beginnt typischerweise mit der umgekehrten Internet-Domain (z.\u202fB. <code>com.example<\/code>).<\/li>\n\n\n\n<li>Es folgen funktionale oder technische Subpakete (<code>model<\/code>, <code>service<\/code>, <code>controller<\/code>, <code>util<\/code> etc.).<\/li>\n\n\n\n<li>Keine Unterstriche oder Gro\u00dfbuchstaben.<\/li>\n<\/ul>\n\n\n\n<h2 class=\"wp-block-heading\">6. Enums<\/h2>\n\n\n\n<p><strong>Konvention (Enum-Typ):<\/strong> UpperCamelCase<br><strong>Konvention (Enum-Werte):<\/strong> UPPER_SNAKE_CASE<\/p>\n\n\n\n<p><strong>Beispiel:<\/strong><\/p>\n\n\n<pre class=\"wp-block-code\" aria-describedby=\"shcb-language-7\" data-shcb-language-name=\"PHP\" data-shcb-language-slug=\"php\"><span><code class=\"hljs language-php\"><span class=\"hljs-keyword\">public<\/span> enum OrderStatus {\n    PENDING,\n    SHIPPED,\n    DELIVERED,\n    CANCELLED\n}\n<\/code><\/span><small class=\"shcb-language\" id=\"shcb-language-7\"><span class=\"shcb-language__label\">Code-Sprache:<\/span> <span class=\"shcb-language__name\">PHP<\/span> <span class=\"shcb-language__paren\">(<\/span><span class=\"shcb-language__slug\">php<\/span><span class=\"shcb-language__paren\">)<\/span><\/small><\/pre>\n\n\n<p><strong>Richtlinien:<\/strong><\/p>\n\n\n\n<ul class=\"wp-block-list\">\n<li>Enum-Namen sind Substantive und beschreiben eine Kategorie von Werten.<\/li>\n\n\n\n<li>Die Konstanten sind in Gro\u00dfbuchstaben, um ihre Unver\u00e4nderlichkeit zu betonen.<\/li>\n\n\n\n<li>Wenn die Enum-Werte viele Metadaten enthalten, ist auch eine differenziertere Benennung m\u00f6glich \u2013 in einfachen F\u00e4llen bleibt man bei der Gro\u00dfschreibung.<\/li>\n<\/ul>\n\n\n\n<h2 class=\"wp-block-heading\">7. Annotationen<\/h2>\n\n\n\n<p><strong>Konvention:<\/strong> UpperCamelCase, enden h\u00e4ufig auf <code>Annotation<\/code> oder sind beschreibend<\/p>\n\n\n\n<p><strong>Beispiel:<\/strong><\/p>\n\n\n<pre class=\"wp-block-code\" aria-describedby=\"shcb-language-8\" data-shcb-language-name=\"PHP\" data-shcb-language-slug=\"php\"><span><code class=\"hljs language-php\"><span class=\"hljs-keyword\">public<\/span> @<span class=\"hljs-class\"><span class=\"hljs-keyword\">interface<\/span> <span class=\"hljs-title\">NotNull<\/span> <\/span>{}\n<span class=\"hljs-keyword\">public<\/span> @<span class=\"hljs-class\"><span class=\"hljs-keyword\">interface<\/span> <span class=\"hljs-title\">Transactional<\/span> <\/span>{}\n<\/code><\/span><small class=\"shcb-language\" id=\"shcb-language-8\"><span class=\"shcb-language__label\">Code-Sprache:<\/span> <span class=\"shcb-language__name\">PHP<\/span> <span class=\"shcb-language__paren\">(<\/span><span class=\"shcb-language__slug\">php<\/span><span class=\"shcb-language__paren\">)<\/span><\/small><\/pre>\n\n\n<p><strong>Richtlinien:<\/strong><\/p>\n\n\n\n<ul class=\"wp-block-list\">\n<li>Der Name sollte eine klare Aussage dar\u00fcber treffen, was durch die Annotation bewirkt oder markiert wird.<\/li>\n\n\n\n<li>Es ist \u00fcblich, Annotationen mit <code>@<\/code> zu versehen, wenn sie verwendet werden, aber nicht in der Deklaration (<code>@NotNull<\/code> vs. <code>public @interface NotNull<\/code>).<\/li>\n<\/ul>\n\n\n\n<h2 class=\"wp-block-heading\">8. Generische Typen<\/h2>\n\n\n\n<p><strong>Konvention:<\/strong> Einzelne Gro\u00dfbuchstaben, h\u00e4ufige Buchstaben sind:<\/p>\n\n\n\n<ul class=\"wp-block-list\">\n<li><code>T<\/code> f\u00fcr &#8222;Type&#8220;<\/li>\n\n\n\n<li><code>E<\/code> f\u00fcr &#8222;Element&#8220;<\/li>\n\n\n\n<li><code>K<\/code> f\u00fcr &#8222;Key&#8220;<\/li>\n\n\n\n<li><code>V<\/code> f\u00fcr &#8222;Value&#8220;<\/li>\n<\/ul>\n\n\n\n<p><strong>Beispiel:<\/strong><\/p>\n\n\n<pre class=\"wp-block-code\" aria-describedby=\"shcb-language-9\" data-shcb-language-name=\"PHP\" data-shcb-language-slug=\"php\"><span><code class=\"hljs language-php\"><span class=\"hljs-keyword\">public<\/span> <span class=\"hljs-class\"><span class=\"hljs-keyword\">class<\/span> <span class=\"hljs-title\">Box<\/span>&lt;<span class=\"hljs-title\">T<\/span>&gt; <\/span>{\n    <span class=\"hljs-keyword\">private<\/span> T content;\n}\n<\/code><\/span><small class=\"shcb-language\" id=\"shcb-language-9\"><span class=\"shcb-language__label\">Code-Sprache:<\/span> <span class=\"shcb-language__name\">PHP<\/span> <span class=\"shcb-language__paren\">(<\/span><span class=\"shcb-language__slug\">php<\/span><span class=\"shcb-language__paren\">)<\/span><\/small><\/pre>\n\n\n<p><strong>Richtlinien:<\/strong><\/p>\n\n\n\n<ul class=\"wp-block-list\">\n<li>Vermeide lange generische Typbezeichner.<\/li>\n\n\n\n<li>Wenn mehrere Generics verwendet werden, sollten die Buchstaben konsistent und sinnvoll gew\u00e4hlt sein.<\/li>\n<\/ul>\n\n\n\n<h2 class=\"wp-block-heading\">9. Testklassen<\/h2>\n\n\n\n<p><strong>Konvention:<\/strong> Entweder <code>XyzTest<\/code> oder <code>TestXyz<\/code>, wobei <code>Xyz<\/code> die getestete Klasse ist.<\/p>\n\n\n\n<p><strong>Beispiel:<\/strong><\/p>\n\n\n<pre class=\"wp-block-code\" aria-describedby=\"shcb-language-10\" data-shcb-language-name=\"PHP\" data-shcb-language-slug=\"php\"><span><code class=\"hljs language-php\"><span class=\"hljs-keyword\">public<\/span> <span class=\"hljs-class\"><span class=\"hljs-keyword\">class<\/span> <span class=\"hljs-title\">CustomerServiceTest<\/span> <\/span>{}\n<\/code><\/span><small class=\"shcb-language\" id=\"shcb-language-10\"><span class=\"shcb-language__label\">Code-Sprache:<\/span> <span class=\"shcb-language__name\">PHP<\/span> <span class=\"shcb-language__paren\">(<\/span><span class=\"shcb-language__slug\">php<\/span><span class=\"shcb-language__paren\">)<\/span><\/small><\/pre>\n\n\n<p><strong>Richtlinien:<\/strong><\/p>\n\n\n\n<ul class=\"wp-block-list\">\n<li>Testmethoden beschreiben m\u00f6glichst klar den getesteten Fall, z.\u202fB. <code>shouldReturnCustomerById()<\/code> oder <code>throwsExceptionWhenIdIsNull()<\/code>.<\/li>\n<\/ul>\n\n\n\n<hr class=\"wp-block-separator has-alpha-channel-opacity\"\/>\n\n\n\n<h2 class=\"wp-block-heading\">Zusammenfassung der Konventionen<\/h2>\n\n\n\n<figure class=\"wp-block-table\"><table class=\"has-fixed-layout\"><thead><tr><th>Element<\/th><th>Beispiel<\/th><th>Stil<\/th><\/tr><\/thead><tbody><tr><td>Klasse<\/td><td><code>OrderService<\/code><\/td><td>UpperCamelCase<\/td><\/tr><tr><td>Interface<\/td><td><code>DataProvider<\/code><\/td><td>UpperCamelCase<\/td><\/tr><tr><td>Methode<\/td><td><code>calculateTotal()<\/code><\/td><td>lowerCamelCase<\/td><\/tr><tr><td>Variable<\/td><td><code>totalPrice<\/code><\/td><td>lowerCamelCase<\/td><\/tr><tr><td>Konstante<\/td><td><code>MAX_BUFFER_SIZE<\/code><\/td><td>UPPER_SNAKE_CASE<\/td><\/tr><tr><td>Paket<\/td><td><code>com.example.util<\/code><\/td><td>lower.case.naming<\/td><\/tr><tr><td>Enum<\/td><td><code>OrderStatus<\/code> \/ <code>SHIPPED<\/code><\/td><td>UpperCamelCase \/ UPPER_SNAKE_CASE<\/td><\/tr><tr><td>Annotation<\/td><td><code>@Override<\/code><\/td><td>UpperCamelCase<\/td><\/tr><tr><td>Generics<\/td><td><code>&lt;T, K, V&gt;<\/code><\/td><td>Single Uppercase<\/td><\/tr><\/tbody><\/table><\/figure>\n\n\n\n<hr class=\"wp-block-separator has-alpha-channel-opacity\"\/>\n\n\n\n<h2 class=\"wp-block-heading\">Fazit<\/h2>\n\n\n\n<p>Namenskonventionen sind kein Selbstzweck \u2013 sie dienen der Verst\u00e4ndlichkeit und Wartbarkeit des Codes. Besonders in Teamprojekten ist es entscheidend, dass alle Entwickler denselben Konventionen folgen. Die hier dargestellten Regeln orientieren sich an den offiziellen Empfehlungen von Oracle und dem Java Language Specification (JLS) sowie an der Praxis etablierter Open-Source-Projekte. Durch konsistente Benennung wird der Code nicht nur sch\u00f6ner, sondern auch robuster, da Missverst\u00e4ndnisse und Fehlerquellen minimiert werden.<\/p>\n","protected":false},"excerpt":{"rendered":"<p>Die Einhaltung von Namenskonventionen ist in der Java-Entwicklung ein zentraler Bestandteil der Codequalit\u00e4t. Sie f\u00f6rdern die Lesbarkeit, erleichtern die Wartung und sorgen f\u00fcr ein einheitliches Erscheinungsbild des Codes \u2013 unabh\u00e4ngig davon, wer ihn geschrieben hat. In diesem Artikel werden die \u00fcblichen Namenskonventionen in der Java-Entwicklung vorgestellt, gegliedert nach den wichtigsten Sprachelementen: Klassen, Interfaces, Methoden, Variablen, [&hellip;]<\/p>\n","protected":false},"author":1,"featured_media":0,"comment_status":"open","ping_status":"open","sticky":false,"template":"","format":"standard","meta":{"footnotes":""},"categories":[4],"tags":[],"class_list":["post-591","post","type-post","status-publish","format-standard","hentry","category-plain_java"],"_links":{"self":[{"href":"https:\/\/www.xn--javaeinfacherklrt-4qb.de\/index.php?rest_route=\/wp\/v2\/posts\/591","targetHints":{"allow":["GET"]}}],"collection":[{"href":"https:\/\/www.xn--javaeinfacherklrt-4qb.de\/index.php?rest_route=\/wp\/v2\/posts"}],"about":[{"href":"https:\/\/www.xn--javaeinfacherklrt-4qb.de\/index.php?rest_route=\/wp\/v2\/types\/post"}],"author":[{"embeddable":true,"href":"https:\/\/www.xn--javaeinfacherklrt-4qb.de\/index.php?rest_route=\/wp\/v2\/users\/1"}],"replies":[{"embeddable":true,"href":"https:\/\/www.xn--javaeinfacherklrt-4qb.de\/index.php?rest_route=%2Fwp%2Fv2%2Fcomments&post=591"}],"version-history":[{"count":1,"href":"https:\/\/www.xn--javaeinfacherklrt-4qb.de\/index.php?rest_route=\/wp\/v2\/posts\/591\/revisions"}],"predecessor-version":[{"id":592,"href":"https:\/\/www.xn--javaeinfacherklrt-4qb.de\/index.php?rest_route=\/wp\/v2\/posts\/591\/revisions\/592"}],"wp:attachment":[{"href":"https:\/\/www.xn--javaeinfacherklrt-4qb.de\/index.php?rest_route=%2Fwp%2Fv2%2Fmedia&parent=591"}],"wp:term":[{"taxonomy":"category","embeddable":true,"href":"https:\/\/www.xn--javaeinfacherklrt-4qb.de\/index.php?rest_route=%2Fwp%2Fv2%2Fcategories&post=591"},{"taxonomy":"post_tag","embeddable":true,"href":"https:\/\/www.xn--javaeinfacherklrt-4qb.de\/index.php?rest_route=%2Fwp%2Fv2%2Ftags&post=591"}],"curies":[{"name":"wp","href":"https:\/\/api.w.org\/{rel}","templated":true}]}}