Apicurio-studio: OpenShift์—์„œ Apicurio์˜ Redocly์—์„œ "์‚ฌ์šฉํ•ด ๋ณด๊ธฐ" ์ฝ˜์†”์„ ํ™œ์„ฑํ™”ํ•˜๋Š” ๋ฐฉ๋ฒ•.

์— ๋งŒ๋“  2021๋…„ 05์›” 26์ผ  ยท  7์ฝ”๋ฉ˜ํŠธ  ยท  ์ถœ์ฒ˜: Apicurio/apicurio-studio

์•ˆ๋…•ํ•˜์„ธ์š” ์—ฌ๋Ÿฌ๋ถ„, ์งˆ๋ฌธ์— ๋›ฐ์–ด๋“ค์–ด์„œ ์ฃ„์†กํ•ฉ๋‹ˆ๋‹ค. ํ•˜์ง€๋งŒ ์ด ํ”„๋กœ์ ํŠธ์™€ Google์„ ๊ฒ€์ƒ‰ํ–ˆ์ง€๋งŒ ์ด ์ž‘์—…์„ ์ˆ˜ํ–‰ํ•˜๋Š” ๋ฐฉ๋ฒ•์„ ์ฐพ์„ ์ˆ˜ ์—†์—ˆ์Šต๋‹ˆ๋‹ค. ์ด ๋งํฌ์˜ Redocly ๋ฌธ์„œ๋Š” Redocly yaml ํŒŒ์ผ https://redoc.ly/docs/api-reference-docs/console-overview/#enable -the-try-it-api-console์—์„œ ์ด๋ฅผ ์ˆ˜ํ–‰ํ•˜๋Š” ๋ฐฉ๋ฒ•์„ ์„ค๋ช…ํ•˜์ง€๋งŒ ์ €๋Š” Docker/k8s ์„ค์น˜์—์„œ ์ˆ˜ํ–‰ํ•˜๋Š” ๋ฐฉ๋ฒ•์„ ์ž˜ ๋ชจ๋ฅด๊ฒ ์Šต๋‹ˆ๋‹ค. ์ ์šฉ๋˜๋Š” ํ™˜๊ฒฝ ๋ณ€์ˆ˜๊ฐ€ ํ‘œ์‹œ๋˜์ง€ ์•Š์Šต๋‹ˆ๋‹ค. ๋„์›€์„ ์ฃผ์…”์„œ ๋ฏธ๋ฆฌ ๊ฐ์‚ฌ๋“œ๋ฆฝ๋‹ˆ๋‹ค.

question

๊ฐ€์žฅ ์œ ์šฉํ•œ ๋Œ“๊ธ€

๊ธฐ์—ฌํ•˜๋Š” ๋ฐ ๊ด€์‹ฌ์ด ์žˆ์„ ์ˆ˜ ์žˆ์Šต๋‹ˆ๋‹ค. ์—ฐ๋ฝ์„ ๋“œ๋ฆฌ๊ฒ ์Šต๋‹ˆ๋‹ค!

๋ชจ๋“  7 ๋Œ“๊ธ€

์ข‹์€ ์งˆ๋ฌธ. APICurio studio์—์„œ "Try It" ๊ธฐ๋Šฅ์„ ํ™œ์„ฑํ™”ํ•  ์ˆ˜ ์žˆ๋Š” ๋ฐฉ๋ฒ•์ด ์žˆ๋Š”์ง€ ์•Œ๊ฒŒ ๋˜์–ด ๊ธฐ์ฉ๋‹ˆ๋‹ค.

ReDoc์˜ Try It ๊ธฐ๋Šฅ์€ ์˜คํ”ˆ ์†Œ์Šค ์ œํ’ˆ์— ํฌํ•จ๋˜์–ด ์žˆ์ง€ ์•Š์€ ๊ฒƒ์œผ๋กœ ์•Œ๊ณ  ์žˆ์Šต๋‹ˆ๋‹ค. ๊ทธ๋ž˜์„œ Studio์—์„œ ํ™œ์„ฑํ™”ํ•˜๋Š” ๋ฐฉ๋ฒ•์ด ์—†๋‹ค๊ณ  ์ƒ๊ฐํ•ฉ๋‹ˆ๋‹ค. ๋‚ด๊ฐ€ ํ‹€๋ ธ๋‹ค๋ฉด ๋‚˜๋Š” ๊ทธ๊ฒƒ์„ ์•Œ๊ฒŒ๋˜์–ด ๋งค์šฐ ๊ธฐ์  ๊ฒƒ์ž…๋‹ˆ๋‹ค. :)

@EricWittmann
RapiDoc ๋ฐ SwaggerUI์—๋Š” ์‚ฌ์šฉํ•ด ๋ณด๊ธฐ ๊ธฐ๋Šฅ์ด ์žˆ์ง€๋งŒ Redoc์—๋Š” ์—†์Šต๋‹ˆ๋‹ค. ๋ฌธ์„œ UI ์‚ฌ์ด๋ฅผ ์ „ํ™˜ํ•  ์ˆ˜ ์žˆ์œผ๋ฉด ์ข‹๊ฒ ๋Š”๋ฐ, ๊ทธ๋ ‡๊ฒŒ ํ•  ๊ณ„ํš์€ ์—†๋‚˜์š”?

๋ผํ”ผ๋‹ฅ
https://mrin9.github.io/RapiDoc/index.html
์Šค์›จ๊ฑฐ UI
https://swagger.io/tools/swagger-ui/

ํฅ๋ฏธ๋กญ๊ฒŒ๋„ ๋ฏธ๋ฆฌ๋ณด๊ธฐ ๊ธฐ๋Šฅ์—์„œ Rapidoc์— ๋Œ€ํ•œ ์‹คํ—˜์ ์ธ ์ง€์›์ด ์ด๋ฏธ ์žˆ์Šต๋‹ˆ๋‹ค. ๋ฏธ๋ฆฌ๋ณด๊ธฐ URL์— &rid=rapidoc ๋ฅผ ์ถ”๊ฐ€ํ•˜๋ฉด ๋ณผ ์ˆ˜ ์žˆ์Šต๋‹ˆ๋‹ค. ์˜ˆ๋ฅผ ๋“ค์–ด:

image

๊ด€๋ จ ์ฝ”๋“œ๋Š” ๋‹ค์Œ๊ณผ ๊ฐ™์Šต๋‹ˆ๋‹ค.

https://github.com/Apicurio/apicurio-studio/blob/master/front-end/servlet/src/main/java/io/apicurio/studio/fe/servlet/servlets/PreviewServlet.java#L78 -L82

Swagger UI์™€ ๊ฐ™์€ ๋‹ค๋ฅธ ๋ Œ๋”๋Ÿฌ์— ๋Œ€ํ•œ ๊ธฐ์—ฌ๋Š” ์–ด๋ ต์ง€ ์•Š์„ ๊ฒƒ์ž…๋‹ˆ๋‹ค!

์ฟจ, ์ €๋Š” Rapidoc์˜ ๋ชจ์–‘๊ณผ ๋Š๋‚Œ์ด ๋งˆ์Œ์— ๋“ญ๋‹ˆ๋‹ค. ํ•˜์ง€๋งŒ Apicurio์—์„œ ์‚ฌ์šฉํ•ด ๋ณด๊ธฐ ๊ธฐ๋Šฅ์ด ๋น„ํ™œ์„ฑํ™”๋˜์–ด ์žˆ์Šต๋‹ˆ๋‹ค.
https://github.com/Apicurio/apicurio-studio/blob/dfc277b03032562e4a3d37f16c851159340495b0/front-end/servlet/src/main/resources/io/apicurio/studio/fe/template/servlets/preview_rap8

ํ™œ์„ฑํ™”ํ•˜๋ ค๋ฉด allow-try=true ํ•˜๊ฑฐ๋‚˜ ์†์„ฑ์„ true๋กœ ์ œ๊ฑฐํ•˜๋Š” ๊ฒƒ์ด ๊ธฐ๋ณธ๊ฐ’์ž…๋‹ˆ๋‹ค.

์•„ ์˜ˆ - ์ฃ„์†กํ•ฉ๋‹ˆ๋‹ค. ํ•ด๋‹น ๊ธฐ๋Šฅ์„ ํŠน๋ณ„ํžˆ ๋น„ํ™œ์„ฑํ™”ํ•œ ๊ฒƒ์„ ์žŠ์—ˆ์Šต๋‹ˆ๋‹ค. ๋‚˜๋Š” ์ƒ๊ฐ ๊ณผ์ •์„ ๊ธฐ์–ตํ•˜์ง€ ๋ชปํ•˜์ง€๋งŒ ์•„๋งˆ๋„ ๋‚ด API ์„ค๋ช… ์ค‘ ์–ด๋Š ๊ฒƒ๋„ ๊ทธ๋“ค์„ ๋’ท๋ฐ›์นจํ•˜๋Š” ์‹ค์ œ ์„œ๋น„์Šค๊ฐ€ ์—†์—ˆ์„ ๊ฒƒ์ž…๋‹ˆ๋‹ค.

์—ฌ๊ธฐ์—์„œ ์ด๋Ÿฌํ•œ ๊ธฐ๋Šฅ์„ ๋” ์‰ฝ๊ฒŒ ํ™œ์„ฑํ™”/๋น„ํ™œ์„ฑํ™”ํ•  ์ˆ˜ ์žˆ๋Š” ์ž‘์—…์ด ์žˆ๋‹ค๊ณ  ์ƒ๊ฐํ•ฉ๋‹ˆ๋‹ค. ๊ธฐ๋ถ€์— ๊ด€์‹ฌ์ด ์žˆ๋Š” ๋ชจ๋“  ๋ถ„๋“ค์—๊ฒŒ ๊ธฐ๊บผ์ด ์•ˆ๋‚ดํ•ด ๋“œ๋ฆฌ๊ฒ ์Šต๋‹ˆ๋‹ค! ์‚ฌ์šฉ์ž๊ฐ€ ๋ Œ๋”๋Ÿฌ ์ค‘์—์„œ ์„ ํƒํ•˜๊ณ , ๊ธฐ๋ณธ ๋ Œ๋”๋Ÿฌ๋ฅผ ์„ค์ •ํ•˜๊ณ , ๋ Œ๋”๋Ÿฌ๋ฅผ ์ „์—ญ์ ์œผ๋กœ ๋˜๋Š” ๋””์ž์ธ๋ณ„๋กœ ๊ตฌ์„ฑํ•˜๋Š” ๋ฐฉ๋ฒ•์— ๋Œ€ํ•ด ์ƒ๊ฐํ•ด์•ผ ํ•ฉ๋‹ˆ๋‹ค.

๊ธฐ์—ฌํ•˜๋Š” ๋ฐ ๊ด€์‹ฌ์ด ์žˆ์„ ์ˆ˜ ์žˆ์Šต๋‹ˆ๋‹ค. ์—ฐ๋ฝ์„ ๋“œ๋ฆฌ๊ฒ ์Šต๋‹ˆ๋‹ค!

์ด ํŽ˜์ด์ง€๊ฐ€ ๋„์›€์ด ๋˜์—ˆ๋‚˜์š”?
0 / 5 - 0 ๋“ฑ๊ธ‰