Skip to content

feat(docs): rest documentation added#218

Merged
PVinaches merged 1 commit into
KaotoIO:mainfrom
PVinaches:rest-documentation
Apr 2, 2026
Merged

feat(docs): rest documentation added#218
PVinaches merged 1 commit into
KaotoIO:mainfrom
PVinaches:rest-documentation

Conversation

@PVinaches

@PVinaches PVinaches commented Apr 1, 2026

Copy link
Copy Markdown
Member

Adding the documentation around Rest:

  • - Code first approach
  • - API first approach
  • - Rest editor

Summary by CodeRabbit

  • Documentation
    • Added comprehensive REST DSL docs with three guided workflows: API-First, Code-First, and REST Editor.
    • Included a Book Summarization OpenAPI example and step-by-step REST/route walkthroughs.
    • Added hands-on examples and tests for endpoints like GET /books/{id}/fun-extract and GET /books/popular, plus updated landing content, prerequisites, and key concepts.

@PVinaches PVinaches added the WIP label Apr 1, 2026
@coderabbitai

coderabbitai Bot commented Apr 1, 2026

Copy link
Copy Markdown

Note

Reviews paused

It looks like this branch is under active development. To avoid overwhelming you with review comments due to an influx of new commits, CodeRabbit has automatically paused this review. You can configure this behavior by changing the reviews.auto_review.auto_pause_after_reviewed_commits setting.

Use the following commands to manage reviews:

  • @coderabbitai resume to resume automatic reviews.
  • @coderabbitai review to trigger a single review.

Use the checkboxes below for quick actions:

  • ▶️ Resume reviews
  • 🔍 Trigger review
📝 Walkthrough

Walkthrough

Adds a complete REST DSL section: new API-First, Code-First, and REST Editor guides, a revised REST index page, and a new OpenAPI spec for a Book Summarization API; includes YAML examples, route implementations, and curl test instructions.

Changes

Cohort / File(s) Summary
REST Guides
content/docs/rest/01_api_first/_index.md, content/docs/rest/02_code_first/_index.md, content/docs/rest/03_rest_editor/_index.md
Three new how-to docs detailing API-First, Code-First, and REST Editor workflows: linking/importing OpenAPI, generated REST DSL and direct: route stubs, step-by-step visual implementation, example YAMLs, component usage (HTTP, JSONPath, OpenAI), and curl-based testing.
REST Index
content/docs/rest/_index.md
Replaced draft landing with a full "REST DSL" index: updated front matter (title, description, date), added overview, prerequisites, comparison of approaches, links to subpages, and key concepts.
OpenAPI Spec
content/docs/rest/book-summary-api.openapi.yaml
New OpenAPI 3.0 spec for "Book Summarization API" v1.0.0 defining GET /books/{id}/fun-extract with operationId: getBookFunExtract, path parameter id, and documented 200/404/500 responses.

Estimated code review effort

🎯 3 (Moderate) | ⏱️ ~20 minutes

Possibly related PRs

Suggested reviewers

  • lordrip
  • lhein

Poem

🐇 I hopped through new pages, nibbling lines of lore,

REST trees sprouted routes and opened every door.
API, Code, Editor — carrots in a row,
Curl them with delight and watch the responses glow.
I bound back to my burrow, docs in paw, encore!

🚥 Pre-merge checks | ✅ 2 | ❌ 1

❌ Failed checks (1 inconclusive)

Check name Status Explanation Resolution
Title check ❓ Inconclusive The title 'feat(docs): rest documentation added' is generic and vague. While it indicates documentation was added for REST, it lacks specificity about the actual content—three distinct approaches (API-First, Code-First, REST Editor) with extensive examples and guides. Consider a more descriptive title such as 'feat(docs): add REST DSL documentation with API-first, code-first, and REST editor guides' to better convey the scope and value of the additions.
✅ Passed checks (2 passed)
Check name Status Explanation
Description Check ✅ Passed Check skipped - CodeRabbit’s high-level summary is enabled.
Docstring Coverage ✅ Passed No functions found in the changed files to evaluate docstring coverage. Skipping docstring coverage check.

✏️ Tip: You can configure your own custom pre-merge checks in the settings.

✨ Finishing Touches
🧪 Generate unit tests (beta)
  • Create PR with unit tests

Thanks for using CodeRabbit! It's free for OSS, and your support helps us grow. If you like it, consider giving us a shout-out.

❤️ Share

Comment @coderabbitai help to get the list of available commands and usage tips.

@PVinaches PVinaches force-pushed the rest-documentation branch from 7037b1a to 5d5e02c Compare April 1, 2026 16:24
@PVinaches PVinaches removed the WIP label Apr 1, 2026
@PVinaches PVinaches marked this pull request as ready for review April 1, 2026 16:26
@PVinaches PVinaches requested a review from a team April 1, 2026 16:26

@coderabbitai coderabbitai Bot left a comment

Copy link
Copy Markdown

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

Actionable comments posted: 2

🧹 Nitpick comments (3)
content/docs/rest/03_rest_editor/_index.md (2)

351-386: Route id placement at the end differs from other examples.

In this route definition, the id: route-3988 appears at the end (line 385) rather than immediately after route: as shown in other documentation examples. While both are valid YAML, consistency across documentation helps readers.

📝 Optional: Move id for consistency
 - route:
+    id: route-3988
     from:
       uri: direct
       ...
         - log:
             id: log-2120
             message: "Books list: ${body}"
-    id: route-3988
🤖 Prompt for AI Agents
Verify each finding against the current code and only fix it if needed.

In `@content/docs/rest/03_rest_editor/_index.md` around lines 351 - 386, The route
definition places "id: route-3988" at the end of the block which differs from
other examples; move the id key to immediately follow the "route:" mapping
(i.e., place id: route-3988 directly under the route: key, before the from:
block) so the structure is consistent with other examples that show route id
first; ensure indentation and YAML validity are preserved and that the rest of
the mapping (from:, steps:, etc.) remains unchanged.

404-438: JSON comment syntax is invalid but acceptable for documentation.

The // ... more books comment on line 437 is not valid JSON syntax. However, this is acceptable in documentation to indicate truncated output. Consider using an alternative that's clearer:

📝 Optional: Use ellipsis notation
      }
    ]
-  }
-  // ... more books
+  },
+  ...
 ]

Or simply add a note after the code block instead.

🤖 Prompt for AI Agents
Verify each finding against the current code and only fix it if needed.

In `@content/docs/rest/03_rest_editor/_index.md` around lines 404 - 438, Replace
the invalid JSON comment inside the JSON code block (the "// ... more books"
line) with a valid indicator: either remove the comment and add a trailing
ellipsis entry like an empty object or a comment outside the code block, or
replace it with a JSON-safe placeholder such as { "..." : "more books omitted" }
to keep the code block valid JSON; update the JSON example block shown in the
documentation (the JSON array example) and, if preferred, add a short note
immediately after the code block explaining that the output was truncated.
content/docs/rest/01_code_first/_index.md (1)

221-228: Minor: Extra blank line in bash code block.

There's an extra blank line at the beginning of this code block (line 222) before the # Frankenstein comment.

📝 Suggested fix
 ```bash
-
 # Frankenstein
 curl http://localhost:8080/books/84/fun-extract

 # The Adventures of Sherlock Holmes
 curl http://localhost:8080/books/1661/fun-extract
</details>

<details>
<summary>🤖 Prompt for AI Agents</summary>

Verify each finding against the current code and only fix it if needed.

In @content/docs/rest/01_code_first/_index.md around lines 221 - 228, Remove the
extra blank line at the start of the bash code block so the first line after the
opening bash fence is the comment "# Frankenstein"; update the fenced block containing the two curl examples (the lines with "# Frankenstein" and "# The Adventures of Sherlock Holmes" and their curl commands) to begin immediately after bash with no leading empty line.


</details>

</blockquote></details>

</blockquote></details>

<details>
<summary>🤖 Prompt for all review comments with AI agents</summary>

Verify each finding against the current code and only fix it if needed.

Inline comments:
In @content/docs/rest/01_code_first/_index.md:

  • Around line 150-151: The log message currently contains nested quotes ('"Book
    summary: ${body}"') under the log -> message key; remove the extra surrounding
    single quotes so the message reads "Book summary: ${body}" (or use a
    single-quoted literal 'Book summary: ${body}' if preferred) and update the YAML
    value for the log.message entry accordingly; if the literal inner quotes were
    intentional instead of removed, add a brief note explaining why the output must
    include literal quotation marks near the log example.

In @content/docs/rest/02_designer_first/_index.md:

  • Around line 181-184: The log step in the intermediate example uses
    nested/extra single quotes around the message (the log: message: '"Book summary:
    ${body}"') which is inconsistent with the final example; update the log message
    to remove the outer single quotes so the log's message value matches the final
    example ("Book summary: ${body}"), and keep the adjacent setBody constant
    (Operation getBookFunExtract not yet implemented) unchanged; locate the log step
    by the keys "log", "message" and "setBody" to correct the string formatting.

Nitpick comments:
In @content/docs/rest/01_code_first/_index.md:

  • Around line 221-228: Remove the extra blank line at the start of the bash code
    block so the first line after the opening bash fence is the comment "# Frankenstein"; update the fenced block containing the two curl examples (the lines with "# Frankenstein" and "# The Adventures of Sherlock Holmes" and their curl commands) to begin immediately after bash with no leading empty line.

In @content/docs/rest/03_rest_editor/_index.md:

  • Around line 351-386: The route definition places "id: route-3988" at the end
    of the block which differs from other examples; move the id key to immediately
    follow the "route:" mapping (i.e., place id: route-3988 directly under the
    route: key, before the from: block) so the structure is consistent with other
    examples that show route id first; ensure indentation and YAML validity are
    preserved and that the rest of the mapping (from:, steps:, etc.) remains
    unchanged.
  • Around line 404-438: Replace the invalid JSON comment inside the JSON code
    block (the "// ... more books" line) with a valid indicator: either remove the
    comment and add a trailing ellipsis entry like an empty object or a comment
    outside the code block, or replace it with a JSON-safe placeholder such as {
    "..." : "more books omitted" } to keep the code block valid JSON; update the
    JSON example block shown in the documentation (the JSON array example) and, if
    preferred, add a short note immediately after the code block explaining that the
    output was truncated.

</details>

<details>
<summary>🪄 Autofix (Beta)</summary>

Fix all unresolved CodeRabbit comments on this PR:

- [ ] <!-- {"checkboxId": "4b0d0e0a-96d7-4f10-b296-3a18ea78f0b9"} --> Push a commit to this branch (recommended)
- [ ] <!-- {"checkboxId": "ff5b1114-7d8c-49e6-8ac1-43f82af23a33"} --> Create a new PR with the fixes

</details>

---

<details>
<summary>ℹ️ Review info</summary>

<details>
<summary>⚙️ Run configuration</summary>

**Configuration used**: Organization UI

**Review profile**: CHILL

**Plan**: Pro

**Run ID**: `d636ee13-a03f-4547-8eea-6a3bfceccba5`

</details>

<details>
<summary>📥 Commits</summary>

Reviewing files that changed from the base of the PR and between e9b322bb8fd8d6ebe16a93db6a3137ba2ed34d3d and 5d5e02cb85775247e193664063c59c57defca2c8.

</details>

<details>
<summary>⛔ Files ignored due to path filters (16)</summary>

* `content/docs/rest/01_code_first/complete-route.png` is excluded by `!**/*.png`
* `content/docs/rest/01_code_first/rest-actions.png` is excluded by `!**/*.png`
* `content/docs/rest/01_code_first/settings1.png` is excluded by `!**/*.png`
* `content/docs/rest/01_code_first/settings2.png` is excluded by `!**/*.png`
* `content/docs/rest/02_designer_first/after-drag-and-drop.png` is excluded by `!**/*.png`
* `content/docs/rest/02_designer_first/complete-route.png` is excluded by `!**/*.png`
* `content/docs/rest/02_designer_first/imported-route.png` is excluded by `!**/*.png`
* `content/docs/rest/02_designer_first/rest-import-button.png` is excluded by `!**/*.png`
* `content/docs/rest/02_designer_first/rest-import-generation.png` is excluded by `!**/*.png`
* `content/docs/rest/02_designer_first/rest-import-wizard-1.png` is excluded by `!**/*.png`
* `content/docs/rest/02_designer_first/rest-import-wizard-2.png` is excluded by `!**/*.png`
* `content/docs/rest/03_rest_editor/add-operation-modal.png` is excluded by `!**/*.png`
* `content/docs/rest/03_rest_editor/duplicate-component.png` is excluded by `!**/*.png`
* `content/docs/rest/03_rest_editor/final-route.png` is excluded by `!**/*.png`
* `content/docs/rest/03_rest_editor/new-route-created.png` is excluded by `!**/*.png`
* `content/docs/rest/03_rest_editor/rest-form.png` is excluded by `!**/*.png`

</details>

<details>
<summary>📒 Files selected for processing (5)</summary>

* `content/docs/rest/01_code_first/_index.md`
* `content/docs/rest/02_designer_first/_index.md`
* `content/docs/rest/03_rest_editor/_index.md`
* `content/docs/rest/_index.md`
* `content/docs/rest/book-summary-api.openapi.yaml`

</details>

</details>

<!-- This is an auto-generated comment by CodeRabbit for review status -->

Comment thread content/docs/rest/01_api_first/_index.md
Comment thread content/docs/rest/02_code_first/_index.md

@lordrip lordrip left a comment

Copy link
Copy Markdown
Member

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

I think we need to rework the code-first vs api-first concepts first. Other than that, the structure is great

Comment thread content/docs/rest/_index.md Outdated
Comment thread content/docs/rest/_index.md Outdated
@PVinaches PVinaches force-pushed the rest-documentation branch from 5d5e02c to 25a45ee Compare April 2, 2026 14:53

@coderabbitai coderabbitai Bot left a comment

Copy link
Copy Markdown

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

Actionable comments posted: 1

♻️ Duplicate comments (2)
content/docs/rest/02_code_first/_index.md (1)

181-183: ⚠️ Potential issue | 🟡 Minor

Use consistent log message formatting in both YAML snippets.

Both examples still use nested quotes ('"Book summary: ${body}"'), which is inconsistent with the surrounding guidance and can confuse readers.

📝 Suggested fix
         - log:
-            message: '"Book summary: ${body}"'
+            message: "Book summary: ${body}"
...
         - log:
-            message: '"Book summary: ${body}"'
+            message: "Book summary: ${body}"

Also applies to: 288-289

🤖 Prompt for AI Agents
Verify each finding against the current code and only fix it if needed.

In `@content/docs/rest/02_code_first/_index.md` around lines 181 - 183, Replace
the nested-quoted log message in the YAML examples so they use the same simple
quoting as the rest of the doc: update the log message value that currently
appears as '"Book summary: ${body}"' to "Book summary: ${body}" (remove the
extra single quotes) and make the corresponding change in the other snippet that
also contains the nested-quoted value; ensure the 'log: message' entries and
nearby 'setBody' examples use the consistent quoting style.
content/docs/rest/01_api_first/_index.md (1)

153-154: ⚠️ Potential issue | 🟡 Minor

Normalize the log message quoting in the YAML example.

At Line 154, message: '"Book summary: ${body}"' is inconsistent with the instruction text (Line 122) and adds avoidable confusion for copy/paste users.

📝 Suggested fix
         - log:
-            message: '"Book summary: ${body}"'
+            message: "Book summary: ${body}"
🤖 Prompt for AI Agents
Verify each finding against the current code and only fix it if needed.

In `@content/docs/rest/01_api_first/_index.md` around lines 153 - 154, The YAML
example uses inconsistent nested quotes for the log message (message: '"Book
summary: ${body}"'); update the YAML `message` value to use a single set of
quotes consistent with the instruction text (e.g., message: "Book summary:
${body}" or message: 'Book summary: ${body}') so the example is clear and
copy/paste-ready—look for the `message` YAML key in the example block and
replace the double-wrapped string with a single-quoted or double-quoted string.
🤖 Prompt for all review comments with AI agents
Verify each finding against the current code and only fix it if needed.

Inline comments:
In `@content/docs/rest/03_rest_editor/_index.md`:
- Around line 194-196: The YAML examples contain extra wrapping quotes around
the log message value (e.g., the string currently shown as '"Book summary:
${body}"'); update the YAML examples under the log -> message entries so the
value is unwrapped to Book summary: ${body} (or use single quotes consistently
if needed) — replace occurrences of the double-quoted-wrapped string with the
plain Book summary: ${body} in both examples where log.message is shown.

---

Duplicate comments:
In `@content/docs/rest/01_api_first/_index.md`:
- Around line 153-154: The YAML example uses inconsistent nested quotes for the
log message (message: '"Book summary: ${body}"'); update the YAML `message`
value to use a single set of quotes consistent with the instruction text (e.g.,
message: "Book summary: ${body}" or message: 'Book summary: ${body}') so the
example is clear and copy/paste-ready—look for the `message` YAML key in the
example block and replace the double-wrapped string with a single-quoted or
double-quoted string.

In `@content/docs/rest/02_code_first/_index.md`:
- Around line 181-183: Replace the nested-quoted log message in the YAML
examples so they use the same simple quoting as the rest of the doc: update the
log message value that currently appears as '"Book summary: ${body}"' to "Book
summary: ${body}" (remove the extra single quotes) and make the corresponding
change in the other snippet that also contains the nested-quoted value; ensure
the 'log: message' entries and nearby 'setBody' examples use the consistent
quoting style.
🪄 Autofix (Beta)

Fix all unresolved CodeRabbit comments on this PR:

  • Push a commit to this branch (recommended)
  • Create a new PR with the fixes

ℹ️ Review info
⚙️ Run configuration

Configuration used: Organization UI

Review profile: CHILL

Plan: Pro

Run ID: d3733730-694b-4c09-ac0b-2343d1d1a92b

📥 Commits

Reviewing files that changed from the base of the PR and between 5d5e02c and 25a45ee.

⛔ Files ignored due to path filters (16)
  • content/docs/rest/01_api_first/complete-route.png is excluded by !**/*.png
  • content/docs/rest/01_api_first/rest-actions.png is excluded by !**/*.png
  • content/docs/rest/01_api_first/settings1.png is excluded by !**/*.png
  • content/docs/rest/01_api_first/settings2.png is excluded by !**/*.png
  • content/docs/rest/02_code_first/after-drag-and-drop.png is excluded by !**/*.png
  • content/docs/rest/02_code_first/complete-route.png is excluded by !**/*.png
  • content/docs/rest/02_code_first/imported-route.png is excluded by !**/*.png
  • content/docs/rest/02_code_first/rest-import-button.png is excluded by !**/*.png
  • content/docs/rest/02_code_first/rest-import-generation.png is excluded by !**/*.png
  • content/docs/rest/02_code_first/rest-import-wizard-1.png is excluded by !**/*.png
  • content/docs/rest/02_code_first/rest-import-wizard-2.png is excluded by !**/*.png
  • content/docs/rest/03_rest_editor/add-operation-modal.png is excluded by !**/*.png
  • content/docs/rest/03_rest_editor/duplicate-component.png is excluded by !**/*.png
  • content/docs/rest/03_rest_editor/final-route.png is excluded by !**/*.png
  • content/docs/rest/03_rest_editor/new-route-created.png is excluded by !**/*.png
  • content/docs/rest/03_rest_editor/rest-form.png is excluded by !**/*.png
📒 Files selected for processing (5)
  • content/docs/rest/01_api_first/_index.md
  • content/docs/rest/02_code_first/_index.md
  • content/docs/rest/03_rest_editor/_index.md
  • content/docs/rest/_index.md
  • content/docs/rest/book-summary-api.openapi.yaml
🚧 Files skipped from review as they are similar to previous changes (1)
  • content/docs/rest/_index.md

Comment thread content/docs/rest/03_rest_editor/_index.md
@PVinaches PVinaches force-pushed the rest-documentation branch from 25a45ee to 5c5698f Compare April 2, 2026 15:00

@coderabbitai coderabbitai Bot left a comment

Copy link
Copy Markdown

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

🧹 Nitpick comments (4)
content/docs/rest/01_api_first/_index.md (1)

154-154: Simplify log message formatting by removing nested quotes.

Line 154 uses nested quotes '"Book summary: ${body}"', which causes literal quotation marks to appear in the log output. Standard YAML formatting "Book summary: ${body}" is simpler and more consistent with typical Camel examples.

📝 Suggested fix
         - log:
-            message: '"Book summary: ${body}"'
+            message: "Book summary: ${body}"
🤖 Prompt for AI Agents
Verify each finding against the current code and only fix it if needed.

In `@content/docs/rest/01_api_first/_index.md` at line 154, Change the YAML value
for the message key to remove the extra outer single quotes so it becomes a
normal double-quoted string; specifically update the message entry currently
written as '"Book summary: ${body}"' to "Book summary: ${body}" so the log does
not include literal quotation marks (look for the message: entry in this
document).
content/docs/rest/03_rest_editor/_index.md (1)

195-195: Simplify log message formatting by removing nested quotes.

Lines 195 and 352 use nested quotes '"Book summary: ${body}"', which causes literal quotation marks to appear in the log output. Standard YAML formatting "Book summary: ${body}" is simpler and aligns with typical Camel examples.

📝 Suggested fix
         - log:
-            message: '"Book summary: ${body}"'
+            message: "Book summary: ${body}"

Apply this change at both line 195 and line 352.

Also applies to: 352-352

🤖 Prompt for AI Agents
Verify each finding against the current code and only fix it if needed.

In `@content/docs/rest/03_rest_editor/_index.md` at line 195, Replace the
nested-quoted log message values that currently read message: '"Book summary:
${body}"' with a normal double-quoted YAML string message: "Book summary:
${body}" at both occurrences (the two message keys shown in the diff), so the
logged output doesn't include literal extra quotation marks; locate the two
"message" entries in the document (one around the first occurrence and the
second around the later occurrence) and change their values accordingly.
content/docs/rest/book-summary-api.openapi.yaml (1)

1-48: Note: Security omitted for local development example.

The OpenAPI specification does not define security schemes. While this is acceptable for a localhost development tutorial, in production APIs you should include security definitions (API keys, OAuth2, etc.) to protect your endpoints.

Static analysis tools correctly flag this (CKV_OPENAPI_4, CKV_OPENAPI_5), but for this documentation example focused on Kaoto's REST features, the omission is reasonable.

Based on learnings: Static analysis hints should be evaluated in context—for tutorial code running locally, missing security is a teaching trade-off rather than a blocker.

🤖 Prompt for AI Agents
Verify each finding against the current code and only fix it if needed.

In `@content/docs/rest/book-summary-api.openapi.yaml` around lines 1 - 48, The
OpenAPI spec currently lacks security definitions; add a security scheme under
components.securitySchemes (e.g., ApiKeyAuth or OAuth2) and reference it via a
global components.security or per-operation security array for the
/books/{id}/fun-extract operation (operationId getBookFunExtract) so static
analyzers stop flagging CKV_OPENAPI_4/5; implement a clear scheme name (e.g.,
ApiKeyAuth) and ensure the security requirement uses that exact name to tie the
scheme to the endpoint.
content/docs/rest/02_code_first/_index.md (1)

182-182: Simplify log message formatting by removing nested quotes.

Lines 182 and 289 use nested quotes '"Book summary: ${body}"', which causes literal quotation marks to appear in the log output. Standard YAML formatting "Book summary: ${body}" is simpler and more typical in Camel examples.

📝 Suggested fix
         - log:
-            message: '"Book summary: ${body}"'
+            message: "Book summary: ${body}"

Apply this change at both line 182 and line 289.

Also applies to: 289-289

🤖 Prompt for AI Agents
Verify each finding against the current code and only fix it if needed.

In `@content/docs/rest/02_code_first/_index.md` at line 182, The log message
entries use nested single+double quotes causing literal quotes to appear (e.g.
the message key currently set as '"Book summary: ${body}"'); update both
occurrences of the message key (the two message entries around lines 182 and
289) to use a single double-quoted YAML string like "Book summary: ${body}" so
the template variable interpolates without extra quotation characters.
🤖 Prompt for all review comments with AI agents
Verify each finding against the current code and only fix it if needed.

Nitpick comments:
In `@content/docs/rest/01_api_first/_index.md`:
- Line 154: Change the YAML value for the message key to remove the extra outer
single quotes so it becomes a normal double-quoted string; specifically update
the message entry currently written as '"Book summary: ${body}"' to "Book
summary: ${body}" so the log does not include literal quotation marks (look for
the message: entry in this document).

In `@content/docs/rest/02_code_first/_index.md`:
- Line 182: The log message entries use nested single+double quotes causing
literal quotes to appear (e.g. the message key currently set as '"Book summary:
${body}"'); update both occurrences of the message key (the two message entries
around lines 182 and 289) to use a single double-quoted YAML string like "Book
summary: ${body}" so the template variable interpolates without extra quotation
characters.

In `@content/docs/rest/03_rest_editor/_index.md`:
- Line 195: Replace the nested-quoted log message values that currently read
message: '"Book summary: ${body}"' with a normal double-quoted YAML string
message: "Book summary: ${body}" at both occurrences (the two message keys shown
in the diff), so the logged output doesn't include literal extra quotation
marks; locate the two "message" entries in the document (one around the first
occurrence and the second around the later occurrence) and change their values
accordingly.

In `@content/docs/rest/book-summary-api.openapi.yaml`:
- Around line 1-48: The OpenAPI spec currently lacks security definitions; add a
security scheme under components.securitySchemes (e.g., ApiKeyAuth or OAuth2)
and reference it via a global components.security or per-operation security
array for the /books/{id}/fun-extract operation (operationId getBookFunExtract)
so static analyzers stop flagging CKV_OPENAPI_4/5; implement a clear scheme name
(e.g., ApiKeyAuth) and ensure the security requirement uses that exact name to
tie the scheme to the endpoint.

ℹ️ Review info
⚙️ Run configuration

Configuration used: Organization UI

Review profile: CHILL

Plan: Pro

Run ID: 0533b77f-3809-4e61-94c9-e3a00de2072a

📥 Commits

Reviewing files that changed from the base of the PR and between 25a45ee and 5c5698f.

⛔ Files ignored due to path filters (16)
  • content/docs/rest/01_api_first/complete-route.png is excluded by !**/*.png
  • content/docs/rest/01_api_first/rest-actions.png is excluded by !**/*.png
  • content/docs/rest/01_api_first/settings1.png is excluded by !**/*.png
  • content/docs/rest/01_api_first/settings2.png is excluded by !**/*.png
  • content/docs/rest/02_code_first/after-drag-and-drop.png is excluded by !**/*.png
  • content/docs/rest/02_code_first/complete-route.png is excluded by !**/*.png
  • content/docs/rest/02_code_first/imported-route.png is excluded by !**/*.png
  • content/docs/rest/02_code_first/rest-import-button.png is excluded by !**/*.png
  • content/docs/rest/02_code_first/rest-import-generation.png is excluded by !**/*.png
  • content/docs/rest/02_code_first/rest-import-wizard-1.png is excluded by !**/*.png
  • content/docs/rest/02_code_first/rest-import-wizard-2.png is excluded by !**/*.png
  • content/docs/rest/03_rest_editor/add-operation-modal.png is excluded by !**/*.png
  • content/docs/rest/03_rest_editor/duplicate-component.png is excluded by !**/*.png
  • content/docs/rest/03_rest_editor/final-route.png is excluded by !**/*.png
  • content/docs/rest/03_rest_editor/new-route-created.png is excluded by !**/*.png
  • content/docs/rest/03_rest_editor/rest-form.png is excluded by !**/*.png
📒 Files selected for processing (5)
  • content/docs/rest/01_api_first/_index.md
  • content/docs/rest/02_code_first/_index.md
  • content/docs/rest/03_rest_editor/_index.md
  • content/docs/rest/_index.md
  • content/docs/rest/book-summary-api.openapi.yaml
🚧 Files skipped from review as they are similar to previous changes (1)
  • content/docs/rest/_index.md

@coderabbitai coderabbitai Bot left a comment

Copy link
Copy Markdown

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

Actionable comments posted: 1

♻️ Duplicate comments (1)
content/docs/rest/01_api_first/_index.md (1)

110-111: ⚠️ Potential issue | 🟡 Minor

Log message still has extra nested quotes.

Line 111 still wraps the message with extra single quotes, which likely produces unintended literal quotes in output and conflicts with the earlier instruction format.

🛠️ Proposed fix
         - log:
-            message: '"Book summary: ${body}"'
+            message: "Book summary: ${body}"
🤖 Prompt for AI Agents
Verify each finding against the current code and only fix it if needed.

In `@content/docs/rest/01_api_first/_index.md` around lines 110 - 111, The log
entry under the log block uses message: '"Book summary: ${body}"' which contains
extra nested single quotes; update the log.message value to remove the outer
quotes so the template is not wrapped in literal quotes (i.e., adjust the log
block's message key to use a plain quoted template like "Book summary: ${body}"
or an unquoted template as appropriate), ensuring the log.message field no
longer contains the extra single quotes.
🧹 Nitpick comments (1)
content/docs/rest/_index.md (1)

12-16: Clarify approach count to avoid reader confusion.

Line 12 says “two distinct approaches,” but this page also links a dedicated REST Editor guide (Line 15 and “Choose Your Approach” context). Consider wording this as “three workflows” or explicitly stating REST Editor is part of the code-first track.

🤖 Prompt for AI Agents
Verify each finding against the current code and only fix it if needed.

In `@content/docs/rest/_index.md` around lines 12 - 16, Update the intro copy that
currently says "two distinct approaches" to remove confusion: either change it
to "three workflows" (API-First, Code-First, REST Editor) or explicitly state
that the "REST Editor" is a sub-workflow of the Code-First approach; edit the
text around the list items (the sentence introducing the list and the entries
for "Code-First Approach" and the REST Editor link) so the count and
relationship are consistent (e.g., "three workflows" or "two approaches — with
the REST Editor as part of Code-First").
🤖 Prompt for all review comments with AI agents
Verify each finding against the current code and only fix it if needed.

Inline comments:
In `@content/docs/rest/_index.md`:
- Line 45: The Markdown table separator row has four columns while the header
row has three; edit the delimiter row in content/docs/rest/_index.md to have the
same number of columns as the header (three), ensuring each column separator
uses at least three dashes and the same number of pipe characters as the header
so the table renders correctly.

---

Duplicate comments:
In `@content/docs/rest/01_api_first/_index.md`:
- Around line 110-111: The log entry under the log block uses message: '"Book
summary: ${body}"' which contains extra nested single quotes; update the
log.message value to remove the outer quotes so the template is not wrapped in
literal quotes (i.e., adjust the log block's message key to use a plain quoted
template like "Book summary: ${body}" or an unquoted template as appropriate),
ensuring the log.message field no longer contains the extra single quotes.

---

Nitpick comments:
In `@content/docs/rest/_index.md`:
- Around line 12-16: Update the intro copy that currently says "two distinct
approaches" to remove confusion: either change it to "three workflows"
(API-First, Code-First, REST Editor) or explicitly state that the "REST Editor"
is a sub-workflow of the Code-First approach; edit the text around the list
items (the sentence introducing the list and the entries for "Code-First
Approach" and the REST Editor link) so the count and relationship are consistent
(e.g., "three workflows" or "two approaches — with the REST Editor as part of
Code-First").
🪄 Autofix (Beta)

Fix all unresolved CodeRabbit comments on this PR:

  • Push a commit to this branch (recommended)
  • Create a new PR with the fixes

ℹ️ Review info
⚙️ Run configuration

Configuration used: Organization UI

Review profile: CHILL

Plan: Pro

Run ID: 566a2b43-9fa7-44da-a520-ab7748591ce1

📥 Commits

Reviewing files that changed from the base of the PR and between 5c5698f and 76196e9.

⛔ Files ignored due to path filters (1)
  • content/docs/rest/03_rest_editor/rest-form.png is excluded by !**/*.png
📒 Files selected for processing (4)
  • content/docs/rest/01_api_first/_index.md
  • content/docs/rest/02_code_first/_index.md
  • content/docs/rest/03_rest_editor/_index.md
  • content/docs/rest/_index.md
✅ Files skipped from review due to trivial changes (2)
  • content/docs/rest/03_rest_editor/_index.md
  • content/docs/rest/02_code_first/_index.md

Comment thread content/docs/rest/_index.md

@coderabbitai coderabbitai Bot left a comment

Copy link
Copy Markdown

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

Actionable comments posted: 1

♻️ Duplicate comments (1)
content/docs/rest/01_api_first/_index.md (1)

110-111: ⚠️ Potential issue | 🟡 Minor

Log message includes unnecessary nested quotes.

message: '"Book summary: ${body}"' is inconsistent with the earlier instruction (Book summary: ${body}) and likely unintentional.

Suggested fix
-        - log:
-            message: '"Book summary: ${body}"'
+        - log:
+            message: "Book summary: ${body}"
🤖 Prompt for AI Agents
Verify each finding against the current code and only fix it if needed.

In `@content/docs/rest/01_api_first/_index.md` around lines 110 - 111, The log
entry under the log key uses unnecessary nested quotes: replace the value
currently set as '"Book summary: ${body}"' for the message field so it becomes a
plain string "Book summary: ${body}" (i.e., remove the extra surrounding quotes)
in the log -> message entry to match the earlier instruction.
🤖 Prompt for all review comments with AI agents
Verify each finding against the current code and only fix it if needed.

Inline comments:
In `@content/docs/rest/01_api_first/_index.md`:
- Around line 137-138: The management port and REST port conflict: change the
JBang management flag value from "--management-port=8080" to a distinct port
(e.g., "--management-port=8081") and update any matching documentation
references so they remain consistent; ensure the example curl still targets the
REST endpoint port (keep curl pointing at 8080 unless you intentionally move the
REST endpoint) and update the text near the REST example to mention the two
different ports (e.g., REST on 8080, management on 8081) so the documentation
and curl command are aligned.

---

Duplicate comments:
In `@content/docs/rest/01_api_first/_index.md`:
- Around line 110-111: The log entry under the log key uses unnecessary nested
quotes: replace the value currently set as '"Book summary: ${body}"' for the
message field so it becomes a plain string "Book summary: ${body}" (i.e., remove
the extra surrounding quotes) in the log -> message entry to match the earlier
instruction.
🪄 Autofix (Beta)

Fix all unresolved CodeRabbit comments on this PR:

  • Push a commit to this branch (recommended)
  • Create a new PR with the fixes

ℹ️ Review info
⚙️ Run configuration

Configuration used: Organization UI

Review profile: CHILL

Plan: Pro

Run ID: 21b9b6bc-852b-4048-b072-4d036b501e83

📥 Commits

Reviewing files that changed from the base of the PR and between 76196e9 and f1c4c40.

⛔ Files ignored due to path filters (1)
  • content/docs/rest/01_api_first/run-button.png is excluded by !**/*.png
📒 Files selected for processing (3)
  • content/docs/rest/01_api_first/_index.md
  • content/docs/rest/02_code_first/_index.md
  • content/docs/rest/book-summary-api.openapi.yaml
✅ Files skipped from review due to trivial changes (1)
  • content/docs/rest/02_code_first/_index.md

Comment thread content/docs/rest/01_api_first/_index.md
@PVinaches PVinaches force-pushed the rest-documentation branch from a2f3b23 to 0930d72 Compare April 2, 2026 16:59
@PVinaches PVinaches merged commit e73f8a4 into KaotoIO:main Apr 2, 2026
2 checks passed
@PVinaches PVinaches deleted the rest-documentation branch April 7, 2026 08:55
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

Labels

None yet

Projects

None yet

Development

Successfully merging this pull request may close these issues.

2 participants