{"id":23429,"date":"2025-11-12T22:52:09","date_gmt":"2025-11-12T22:52:09","guid":{"rendered":"https:\/\/pokecon.jp\/job\/?p=23429"},"modified":"2025-11-12T22:52:09","modified_gmt":"2025-11-12T22:52:09","slug":"swagger-v3-%e3%81%ab%e7%a7%bb%e8%a1%8c%e3%81%99%e3%82%8b%e9%9a%9b%e3%81%ae-v2-%e3%81%a8%e3%81%ae%e4%b8%bb%e3%81%aa%e9%81%95%e3%81%84%e3%81%a8%e5%af%be%e5%bf%9c","status":"publish","type":"post","link":"https:\/\/pokecon.jp\/job\/23429\/","title":{"rendered":"Swagger v3 \u306b\u79fb\u884c\u3059\u308b\u969b\u306e v2 \u3068\u306e\u4e3b\u306a\u9055\u3044\u3068\u5bfe\u5fdc"},"content":{"rendered":"\n<\/p>\n<div itemprop=\"mainEntityOfPage\" id=\"post-12201\">\n<div style=\"overflow: hidden;position: relative;min-height: 200px;\">\n<div style=\"top:0;padding:10px 10px;display: inline-block;vertical-align: middle;*display: inline;*zoom: 1;\">\n<img loading=\"lazy\" decoding=\"async\" width=\"180\" height=\"180\" src=\"https:\/\/techblog.recochoku.jp\/wp-content\/uploads\/2016\/12\/swagger-logo-180x180.png\" class=\"attachment-thumbnail size-thumbnail wp-post-image\" alt=\"\" style=\"border:solid 1px #6e6e6e;padding: 3px\"\/><\/div>\n<\/div>\n<div class=\"clearfix\">\n<p class=\"meta\"><i class=\"fa fa-clock-o\"\/><span class=\"date published\"><time class=\"entry-date updated\" datetime=\"2025-11-12T17:11:55+00:00\" itemprop=\"datePublished\">2025-11-12<\/time><\/span><i class=\"fa fa-tags\"\/><span class=\"tags\" itemprop=\"keywords\"><a target=\"_blank\" href=\"https:\/\/techblog.recochoku.jp\/tag\/github-pages\">GitHub Pages<\/a>, <a target=\"_blank\" href=\"https:\/\/techblog.recochoku.jp\/tag\/swagger\">Swagger<\/a><\/span><\/p>\n<aside>\n<\/aside>\n<h2>\u306f\u3058\u3081\u306b<\/h2>\n<p>\u3000\u3053\u3093\u306b\u3061\u306f\uff01EggsPass\u30c1\u30fc\u30e0\u3067\u4e3b\u306b\u30d0\u30c3\u30af\u30a8\u30f3\u30c9\u30a8\u30f3\u30b8\u30cb\u30a2\u3092\u3057\u3066\u3044\u308b\u5f90\u3067\u3059\u3002<br \/>\u672c\u8a18\u4e8b\u3067\u306f\u3001API\u30c9\u30ad\u30e5\u30e1\u30f3\u30c8\u30b8\u30a7\u30cd\u30ec\u30fc\u30bf\u3092 <strong>Swagger v2 \u304b\u3089 v3 \u3078\u79fb\u884c\u3057\u305f\u7d4c\u7def\u3068\u65b9\u6cd5<\/strong> \u3092\u7d39\u4ecb\u3057\u307e\u3059\u3002<\/p>\n<h3>\u80cc\u666f<\/h3>\n<p>\u3000\u30d7\u30ed\u30b8\u30a7\u30af\u30c8\u3067\u4f7f\u7528\u3057\u3066\u3044\u308b API \u30c9\u30ad\u30e5\u30e1\u30f3\u30c8\u30b8\u30a7\u30cd\u30ec\u30fc\u30bf Swagger v2 \u306f\u3001\u9577\u671f\u9593\u306e\u904b\u7528\u3092\u7d4c\u3066 Node.js \u306e\u30d0\u30fc\u30b8\u30e7\u30f3\u30a2\u30c3\u30d7\u3084\u4f9d\u5b58\u30e9\u30a4\u30d6\u30e9\u30ea\u306e\u5ec3\u6b62\u306a\u3069\u306e\u5f71\u97ff\u3092\u53d7\u3051\u308b\u3088\u3046\u306b\u306a\u308a\u307e\u3057\u305f\u3002<\/p>\n<h3>\u6280\u8853\u7684\u306a\u554f\u984c<\/h3>\n<ul>\n<li>Node.js \u306e\u30d0\u30fc\u30b8\u30e7\u30f3\u30a2\u30c3\u30d7\u306b\u5bfe\u5fdc\u3067\u304d\u306a\u3044<\/li>\n<li>\u4f9d\u5b58\u30e9\u30a4\u30d6\u30e9\u30ea\u304c\u5ec3\u6b62\u3055\u308c\u3066\u3044\u308b<\/li>\n<\/ul>\n<h3>\u5b9f\u52d9\u4e0a\u306e\u5f71\u97ff<\/h3>\n<ul>\n<li>\u65b0\u3057\u3044\u30e1\u30f3\u30d0\u30fc\u306ePC\u3067\u30ed\u30fc\u30ab\u30eb\u74b0\u5883\u3092\u69cb\u7bc9\u3067\u304d\u306a\u3044<\/li>\n<li>Swagger\u306e\u66f4\u65b0\u4f5c\u696d\u3092\u3001\u4e00\u90e8\u306e\u74b0\u5883\u3092\u69cb\u7bc9\u6e08\u307f\u306e\u30e1\u30f3\u30d0\u30fc\u3057\u304b\u884c\u3048\u306a\u3044<\/li>\n<\/ul>\n<p>\u3000\u3053\u308c\u3089\u306e\u554f\u984c\u3092\u89e3\u6c7a\u3059\u308b\u305f\u3081\u3001Swagger v2 \u306e\u66f4\u65b0\u3092\u8ae6\u3081\u3001v3 \u3078\u5168\u9762\u7684\u306b\u4f5c\u308a\u76f4\u3059\u3053\u3068\u306b\u3057\u307e\u3057\u305f\u3002\u672c\u8a18\u4e8b\u3067\u306f\u305d\u306e\u624b\u9806\u3092\u89e3\u8aac\u3057\u307e\u3059\u3002<\/p>\n<h2>Swagger\u3068\u306f<\/h2>\n<p>\u3000<strong>API\u30c9\u30ad\u30e5\u30e1\u30f3\u30c8\u30b8\u30a7\u30cd\u30ec\u30fc\u30bf<\/strong>\u306e\u4e00\u3064\u3068\u3057\u3066\u3001\u7279\u306bREST API\u3092\u8a2d\u8a08\u30fb\u30c9\u30ad\u30e5\u30e1\u30f3\u30c8\u5316\u30fb\u30c6\u30b9\u30c8\u30fb\u5171\u6709\u3059\u308b\u305f\u3081\u306e\u30aa\u30fc\u30d7\u30f3\u30bd\u30fc\u30b9\u30d5\u30ec\u30fc\u30e0\u30ef\u30fc\u30af \u3067\u3059\u3002<\/p>\n<h2>Swagger v2 \u3068 v3 \u306e\u4e3b\u306a\u9055\u3044\uff08\u79fb\u884c\u6642\u306e\u30dd\u30a4\u30f3\u30c8\uff09<\/h2>\n<h4>1.\u30c7\u30d5\u30a9\u30eb\u30c8\u6a5f\u80fd\u3067\u30bf\u30b0\u53c2\u7167\u304c\u3067\u304d\u306a\u3044\u554f\u984c<\/h4>\n<p>\u3000Swagger v2 \u3067\u306f\u3001\u7d71\u5408\u6a5f\u80fd\u306b\u3088\u308a\u3001\u30e1\u30a4\u30f3\u306e index.yaml \u30d5\u30a1\u30a4\u30eb\u3067<strong>tags<\/strong>\u3084<strong>paths<\/strong>\u5358\u4f4d\u3067\u30d5\u30a1\u30a4\u30eb\u3092\u5206\u3051\u3066\u518d\u5229\u7528\u3059\u308b\u3053\u3068\u304c\u53ef\u80fd\u3067\u3057\u305f\u3002<br \/>\u3000\u4f8b\u3048\u3070\u3001\u4ee5\u4e0b\u306e\u3088\u3046\u306b\u5225\u30d5\u30a1\u30a4\u30eb\u306b\u5206\u3051\u305f\u3082\u306e\u3092\u3001\u30e1\u30a4\u30f3\u306e index.yaml \u3067\u8aad\u307f\u8fbc\u3080\u3060\u3051\u3067\u53c2\u7167\u3067\u304d\u307e\u3059\u3002<\/p>\n<p><!-- Crayon Syntax Highlighter v_2.7.2_beta --><\/p>\n<div id=\"crayon-691441aca9070773022611\" class=\"crayon-syntax crayon-theme-sublime-text crayon-font-consolas crayon-os-pc print-yes notranslate\" data-settings=\" minimize scroll-always\" style=\" max-width: 1000px; margin-top: 12px; margin-bottom: 12px; font-size: 15px !important; line-height: 20px !important;\">\n<div class=\"crayon-main\" style=\" max-width: 1000px;\">\n<div class=\"s_table\"><table class=\"crayon-table\">\n<tr class=\"crayon-row\">\n<td class=\"crayon-nums \" data-settings=\"hide\">\n<\/td>\n<td class=\"crayon-code\">\n<div class=\"crayon-pre\" style=\"font-size: 15px !important; line-height: 20px !important; -moz-tab-size:4; -o-tab-size:4; -webkit-tab-size:4; tab-size:4;\">\n<p><span class=\"crayon-v\">swagger<\/span><span class=\"crayon-o\">\/<\/span><span class=\"crayon-v\">index<\/span><span class=\"crayon-sy\">.<\/span><span class=\"crayon-v\">yml<\/span><\/p>\n<p>\u00a0<\/p>\n<p><span class=\"crayon-o\">&#8211;<\/span><span class=\"crayon-h\"> <\/span><span class=\"crayon-v\">name<\/span><span class=\"crayon-o\">:<\/span><span class=\"crayon-h\"> <\/span><span class=\"crayon-s\">&#8216;Service Alpha&#8217;<\/span><\/p>\n<p><span class=\"crayon-h\">\u00a0\u00a0<\/span><span class=\"crayon-v\">description<\/span><span class=\"crayon-o\">:<\/span><span class=\"crayon-h\"> <\/span><span class=\"crayon-s\">&#8216;(Dummy) Alpha API swagger: \u2705 \u5b9f\u88c5: \u2705&#8217;<\/span><\/p>\n<p><span class=\"crayon-o\">&#8211;<\/span><span class=\"crayon-h\"> <\/span><span class=\"crayon-v\">name<\/span><span class=\"crayon-o\">:<\/span><span class=\"crayon-h\"> <\/span><span class=\"crayon-s\">&#8216;Service Beta&#8217;<\/span><\/p>\n<p><span class=\"crayon-h\">\u00a0\u00a0<\/span><span class=\"crayon-v\">description<\/span><span class=\"crayon-o\">:<\/span><span class=\"crayon-h\"> <\/span><span class=\"crayon-s\">&#8216;(Dummy) Beta API swagger: \u2705 \u5b9f\u88c5: \u2705&#8217;<\/span><\/p>\n<p><span class=\"crayon-o\">&#8211;<\/span><span class=\"crayon-h\"> <\/span><span class=\"crayon-v\">name<\/span><span class=\"crayon-o\">:<\/span><span class=\"crayon-h\"> <\/span><span class=\"crayon-s\">&#8216;Service Gamma&#8217;<\/span><\/p>\n<p><span class=\"crayon-h\">\u00a0\u00a0<\/span><span class=\"crayon-v\">description<\/span><span class=\"crayon-o\">:<\/span><span class=\"crayon-h\"> <\/span><span class=\"crayon-s\">&#8216;(Dummy) Gamma API swagger: \u2705 \u5b9f\u88c5: \u2705&#8217;<\/span><\/p>\n<p><span class=\"crayon-o\">&#8211;<\/span><span class=\"crayon-h\"> <\/span><span class=\"crayon-v\">name<\/span><span class=\"crayon-o\">:<\/span><span class=\"crayon-h\"> <\/span><span class=\"crayon-s\">&#8216;Service Delta&#8217;<\/span><\/p>\n<p><span class=\"crayon-h\">\u00a0\u00a0<\/span><span class=\"crayon-v\">description<\/span><span class=\"crayon-o\">:<\/span><span class=\"crayon-h\"> <\/span><span class=\"crayon-s\">&#8216;(Dummy) Delta API swagger: \u2705 \u5b9f\u88c5: \u2705&#8217;<\/span><\/p>\n<p><span class=\"crayon-o\">&#8211;<\/span><span class=\"crayon-h\"> <\/span><span class=\"crayon-v\">name<\/span><span class=\"crayon-o\">:<\/span><span class=\"crayon-h\"> <\/span><span class=\"crayon-s\">&#8216;Service Epsilon&#8217;<\/span><\/p>\n<p><span class=\"crayon-h\">\u00a0\u00a0<\/span><span class=\"crayon-v\">description<\/span><span class=\"crayon-o\">:<\/span><span class=\"crayon-h\"> <\/span><span class=\"crayon-s\">&#8216;(Dummy) Epsilon API swagger: \u2705 \u5b9f\u88c5: \u2705&#8217;<\/span><\/p>\n<p>\u00a0<\/p>\n<\/div>\n<\/td>\n<\/tr>\n<\/table><\/div><\/div>\n<\/p><\/div>\n<p><!-- [Format Time: 0.0007 seconds] --><\/p>\n<p><!-- Crayon Syntax Highlighter v_2.7.2_beta --><\/p>\n<div id=\"crayon-691441aca9078420767619\" class=\"crayon-syntax crayon-theme-sublime-text crayon-font-consolas crayon-os-pc print-yes notranslate\" data-settings=\" minimize scroll-always\" style=\" max-width: 1000px; margin-top: 12px; margin-bottom: 12px; font-size: 15px !important; line-height: 20px !important;\">\n<div class=\"crayon-main\" style=\" max-width: 1000px;\">\n<div class=\"s_table\"><table class=\"crayon-table\">\n<tr class=\"crayon-row\">\n<td class=\"crayon-nums \" data-settings=\"hide\">\n<\/td>\n<td class=\"crayon-code\">\n<div class=\"crayon-pre\" style=\"font-size: 15px !important; line-height: 20px !important; -moz-tab-size:4; -o-tab-size:4; -webkit-tab-size:4; tab-size:4;\">\n<p><span class=\"crayon-v\">swagger<\/span><span class=\"crayon-o\">\/<\/span><span class=\"crayon-v\">index<\/span><span class=\"crayon-sy\">.<\/span><span class=\"crayon-e\">yml<\/span><\/p>\n<p>\u00a0<\/p>\n<p><span class=\"crayon-v\">tags<\/span><span class=\"crayon-o\">:<\/span><\/p>\n<p><span class=\"crayon-h\">\u00a0\u00a0<\/span><span class=\"crayon-sy\">$<\/span><span class=\"crayon-v\">ref<\/span><span class=\"crayon-o\">:<\/span><span class=\"crayon-h\"> <\/span><span class=\"crayon-sy\">.<\/span><span class=\"crayon-o\">\/<\/span><span class=\"crayon-v\">swagger<\/span><span class=\"crayon-o\">\/<\/span><span class=\"crayon-v\">tags<\/span><span class=\"crayon-sy\">.<\/span><span class=\"crayon-e\">yml<\/span><\/p>\n<p><span class=\"crayon-v\">paths<\/span><span class=\"crayon-o\">:<\/span><\/p>\n<p><span class=\"crayon-h\">\u00a0\u00a0<\/span><span class=\"crayon-sy\">$<\/span><span class=\"crayon-v\">ref<\/span><span class=\"crayon-o\">:<\/span><span class=\"crayon-h\"> <\/span><span class=\"crayon-sy\">.<\/span><span class=\"crayon-o\">\/<\/span><span class=\"crayon-v\">swagger<\/span><span class=\"crayon-o\">\/<\/span><span class=\"crayon-v\">paths<\/span><span class=\"crayon-o\">\/<\/span><span class=\"crayon-v\">index<\/span><span class=\"crayon-sy\">.<\/span><span class=\"crayon-e\">yml<\/span><\/p>\n<p><span class=\"crayon-v\">definitions<\/span><span class=\"crayon-o\">:<\/span><\/p>\n<p><span class=\"crayon-h\">\u00a0\u00a0<\/span><span class=\"crayon-sy\">$<\/span><span class=\"crayon-v\">ref<\/span><span class=\"crayon-o\">:<\/span><span class=\"crayon-h\"> <\/span><span class=\"crayon-sy\">.<\/span><span class=\"crayon-o\">\/<\/span><span class=\"crayon-v\">swagger<\/span><span class=\"crayon-o\">\/<\/span><span class=\"crayon-v\">definitions<\/span><span class=\"crayon-o\">\/<\/span><span class=\"crayon-v\">index<\/span><span class=\"crayon-sy\">.<\/span><span class=\"crayon-e\">yml<\/span><\/p>\n<p><span class=\"crayon-v\">responses<\/span><span class=\"crayon-o\">:<\/span><\/p>\n<p><span class=\"crayon-h\">\u00a0\u00a0<\/span><span class=\"crayon-sy\">$<\/span><span class=\"crayon-v\">ref<\/span><span class=\"crayon-o\">:<\/span><span class=\"crayon-h\"> <\/span><span class=\"crayon-sy\">.<\/span><span class=\"crayon-o\">\/<\/span><span class=\"crayon-v\">swagger<\/span><span class=\"crayon-o\">\/<\/span><span class=\"crayon-v\">responses<\/span><span class=\"crayon-o\">\/<\/span><span class=\"crayon-v\">index<\/span><span class=\"crayon-sy\">.<\/span><span class=\"crayon-e\">yml<\/span><\/p>\n<p><span class=\"crayon-v\">securityDefinitions<\/span><span class=\"crayon-o\">:<\/span><\/p>\n<p><span class=\"crayon-h\">\u00a0\u00a0<\/span><span class=\"crayon-sy\">$<\/span><span class=\"crayon-v\">ref<\/span><span class=\"crayon-o\">:<\/span><span class=\"crayon-h\"> <\/span><span class=\"crayon-sy\">.<\/span><span class=\"crayon-o\">\/<\/span><span class=\"crayon-v\">swagger<\/span><span class=\"crayon-o\">\/<\/span><span class=\"crayon-v\">security<\/span><span class=\"crayon-o\">\/<\/span><span class=\"crayon-v\">index<\/span><span class=\"crayon-sy\">.<\/span><span class=\"crayon-i\">yml<\/span><\/p>\n<\/div>\n<\/td>\n<\/tr>\n<\/table><\/div><\/div>\n<\/p><\/div>\n<p><!-- [Format Time: 0.0006 seconds] --><\/p>\n<p>\u3000v2 \u306e\u3088\u3046\u306b<strong>tags<\/strong>\u3084<strong>paths<\/strong> \u3092\u5225\u30d5\u30a1\u30a4\u30eb\u306b\u5206\u3051\u3066\u30e1\u30a4\u30f3\u306e index.yaml \u304b\u3089\u53c2\u7167\u3059\u308b\u3053\u3068\u304c\u3067\u304d\u307e\u305b\u3093\u3002\u3000\u305d\u306e\u305f\u3081\u3001v3 \u306b\u79fb\u884c\u3059\u308b\u5834\u5408\u306f\u3001\u5f93\u6765\u306e\u5206\u5272\u30d5\u30a1\u30a4\u30eb\u306e\u5185\u5bb9\u3092 \u3059\u3079\u3066 index.yaml \u306b\u307e\u3068\u3081\u3066\u8a18\u8ff0\u3059\u308b\u5fc5\u8981 \u304c\u3042\u308a\u307e\u3059\u3002<\/p>\n<p><!-- Crayon Syntax Highlighter v_2.7.2_beta --><\/p>\n<div id=\"crayon-691441aca907a623538699\" class=\"crayon-syntax crayon-theme-sublime-text crayon-font-consolas crayon-os-pc print-yes notranslate\" data-settings=\" minimize scroll-always\" style=\" max-width: 1000px; margin-top: 12px; margin-bottom: 12px; font-size: 15px !important; line-height: 20px !important;\">\n<div class=\"crayon-main\" style=\" max-width: 1000px;\">\n<div class=\"s_table\"><table class=\"crayon-table\">\n<tr class=\"crayon-row\">\n<td class=\"crayon-nums \" data-settings=\"hide\">\n<\/td>\n<td class=\"crayon-code\">\n<div class=\"crayon-pre\" style=\"font-size: 15px !important; line-height: 20px !important; -moz-tab-size:4; -o-tab-size:4; -webkit-tab-size:4; tab-size:4;\">\n<p><span class=\"crayon-v\">swagger<\/span><span class=\"crayon-o\">\/<\/span><span class=\"crayon-v\">index<\/span><span class=\"crayon-sy\">.<\/span><span class=\"crayon-i\">yml<\/span><span class=\"crayon-h\"> <\/span><\/p>\n<p><span class=\"crayon-sy\">.<\/span><span class=\"crayon-sy\">.<\/span><span class=\"crayon-sy\">.<\/span><\/p>\n<p>\u00a0<\/p>\n<p><span class=\"crayon-v\">tags<\/span><span class=\"crayon-o\">:<\/span><\/p>\n<p><span class=\"crayon-o\">&#8211;<\/span><span class=\"crayon-h\"> <\/span><span class=\"crayon-v\">name<\/span><span class=\"crayon-o\">:<\/span><span class=\"crayon-h\"> <\/span><span class=\"crayon-s\">&#8216;Service Alpha&#8217;<\/span><\/p>\n<p><span class=\"crayon-h\">\u00a0\u00a0<\/span><span class=\"crayon-v\">description<\/span><span class=\"crayon-o\">:<\/span><span class=\"crayon-h\"> <\/span><span class=\"crayon-s\">&#8216;(Dummy) Alpha API swagger: \u2705 \u5b9f\u88c5: \u2705&#8217;<\/span><\/p>\n<p><span class=\"crayon-o\">&#8211;<\/span><span class=\"crayon-h\"> <\/span><span class=\"crayon-v\">name<\/span><span class=\"crayon-o\">:<\/span><span class=\"crayon-h\"> <\/span><span class=\"crayon-s\">&#8216;Service Beta&#8217;<\/span><\/p>\n<p><span class=\"crayon-h\">\u00a0\u00a0<\/span><span class=\"crayon-v\">description<\/span><span class=\"crayon-o\">:<\/span><span class=\"crayon-h\"> <\/span><span class=\"crayon-s\">&#8216;(Dummy) Beta API swagger: \u2705 \u5b9f\u88c5: \u2705&#8217;<\/span><\/p>\n<p><span class=\"crayon-o\">&#8211;<\/span><span class=\"crayon-h\"> <\/span><span class=\"crayon-v\">name<\/span><span class=\"crayon-o\">:<\/span><span class=\"crayon-h\"> <\/span><span class=\"crayon-s\">&#8216;Service Gamma&#8217;<\/span><\/p>\n<p><span class=\"crayon-h\">\u00a0\u00a0<\/span><span class=\"crayon-v\">description<\/span><span class=\"crayon-o\">:<\/span><span class=\"crayon-h\"> <\/span><span class=\"crayon-s\">&#8216;(Dummy) Gamma API swagger: \u2705 \u5b9f\u88c5: \u2705&#8217;<\/span><\/p>\n<p><span class=\"crayon-o\">&#8211;<\/span><span class=\"crayon-h\"> <\/span><span class=\"crayon-v\">name<\/span><span class=\"crayon-o\">:<\/span><span class=\"crayon-h\"> <\/span><span class=\"crayon-s\">&#8216;Service Delta&#8217;<\/span><\/p>\n<p><span class=\"crayon-h\">\u00a0\u00a0<\/span><span class=\"crayon-v\">description<\/span><span class=\"crayon-o\">:<\/span><span class=\"crayon-h\"> <\/span><span class=\"crayon-s\">&#8216;(Dummy) Delta API swagger: \u2705 \u5b9f\u88c5: \u2705&#8217;<\/span><\/p>\n<p><span class=\"crayon-o\">&#8211;<\/span><span class=\"crayon-h\"> <\/span><span class=\"crayon-v\">name<\/span><span class=\"crayon-o\">:<\/span><span class=\"crayon-h\"> <\/span><span class=\"crayon-s\">&#8216;Service Epsilon&#8217;<\/span><\/p>\n<p><span class=\"crayon-h\">\u00a0\u00a0<\/span><span class=\"crayon-v\">description<\/span><span class=\"crayon-o\">:<\/span><span class=\"crayon-h\"> <\/span><span class=\"crayon-s\">&#8216;(Dummy) Epsilon API swagger: \u2705 \u5b9f\u88c5: \u2705&#8217;<\/span><\/p>\n<p>\u00a0<\/p>\n<p><span class=\"crayon-v\">paths<\/span><span class=\"crayon-o\">:<\/span><\/p>\n<p><span class=\"crayon-h\">\u00a0\u00a0<\/span><span class=\"crayon-o\">\/<\/span><span class=\"crayon-v\">dummy<\/span><span class=\"crayon-o\">\/<\/span><span class=\"crayon-v\">endpoint1<\/span><span class=\"crayon-o\">:<\/span><\/p>\n<p><span class=\"crayon-h\">\u00a0\u00a0\u00a0\u00a0<\/span><span class=\"crayon-sy\">$<\/span><span class=\"crayon-v\">ref<\/span><span class=\"crayon-o\">:<\/span><span class=\"crayon-h\"> <\/span><span class=\"crayon-sy\">.<\/span><span class=\"crayon-o\">\/<\/span><span class=\"crayon-v\">paths<\/span><span class=\"crayon-o\">\/<\/span><span class=\"crayon-v\">dummy1<\/span><span class=\"crayon-o\">\/<\/span><span class=\"crayon-v\">post<\/span><span class=\"crayon-sy\">.<\/span><span class=\"crayon-v\">yml<\/span><\/p>\n<p><span class=\"crayon-h\">\u00a0\u00a0<\/span><span class=\"crayon-p\"># \u30c0\u30df\u30fcAPI<\/span><\/p>\n<p><span class=\"crayon-h\">\u00a0\u00a0<\/span><span class=\"crayon-o\">\/<\/span><span class=\"crayon-v\">dummy<\/span><span class=\"crayon-o\">\/<\/span><span class=\"crayon-v\">endpoint2<\/span><span class=\"crayon-o\">:<\/span><\/p>\n<p><span class=\"crayon-h\">\u00a0\u00a0\u00a0\u00a0<\/span><span class=\"crayon-sy\">$<\/span><span class=\"crayon-v\">ref<\/span><span class=\"crayon-o\">:<\/span><span class=\"crayon-h\"> <\/span><span class=\"crayon-sy\">.<\/span><span class=\"crayon-o\">\/<\/span><span class=\"crayon-v\">paths<\/span><span class=\"crayon-o\">\/<\/span><span class=\"crayon-v\">dummy2<\/span><span class=\"crayon-o\">\/<\/span><span class=\"crayon-v\">post<\/span><span class=\"crayon-sy\">.<\/span><span class=\"crayon-v\">yml<\/span><\/p>\n<p><span class=\"crayon-h\">\u00a0\u00a0<\/span><span class=\"crayon-o\">\/<\/span><span class=\"crayon-v\">dummy<\/span><span class=\"crayon-o\">\/<\/span><span class=\"crayon-v\">endpoint3<\/span><span class=\"crayon-o\">:<\/span><\/p>\n<p><span class=\"crayon-h\">\u00a0\u00a0\u00a0\u00a0<\/span><span class=\"crayon-sy\">$<\/span><span class=\"crayon-v\">ref<\/span><span class=\"crayon-o\">:<\/span><span class=\"crayon-h\"> <\/span><span class=\"crayon-sy\">.<\/span><span class=\"crayon-o\">\/<\/span><span class=\"crayon-v\">paths<\/span><span class=\"crayon-o\">\/<\/span><span class=\"crayon-v\">dummy3<\/span><span class=\"crayon-o\">\/<\/span><span class=\"crayon-v\">post_v2<\/span><span class=\"crayon-sy\">.<\/span><span class=\"crayon-i\">yml<\/span><\/p>\n<p>\u00a0<\/p>\n<p><span class=\"crayon-sy\">.<\/span><span class=\"crayon-sy\">.<\/span><span class=\"crayon-sy\">.<\/span><\/p>\n<p>\u00a0<\/p>\n<\/div>\n<\/td>\n<\/tr>\n<\/table><\/div><\/div>\n<\/p><\/div>\n<p><!-- [Format Time: 0.0011 seconds] --><\/p>\n<h4>2.responses \u3067\u306f \u5fc5\u305a content \u3068\u30e1\u30c7\u30a3\u30a2\u30bf\u30a4\u30d7\uff08\u4f8b: application\/json\uff09\u3092\u660e\u793a \u3059\u308b\u5fc5\u8981\u304c\u3042\u308b<\/h4>\n<p><!-- Crayon Syntax Highlighter v_2.7.2_beta --><\/p>\n<div id=\"crayon-691441aca907b873745051\" class=\"crayon-syntax crayon-theme-sublime-text crayon-font-consolas crayon-os-pc print-yes notranslate\" data-settings=\" minimize scroll-always\" style=\" max-width: 1000px; margin-top: 12px; margin-bottom: 12px; font-size: 15px !important; line-height: 20px !important;\">\n<div class=\"crayon-main\" style=\" max-width: 1000px;\">\n<div class=\"s_table\"><table class=\"crayon-table\">\n<tr class=\"crayon-row\">\n<td class=\"crayon-nums \" data-settings=\"hide\">\n<\/td>\n<td class=\"crayon-code\">\n<div class=\"crayon-pre\" style=\"font-size: 15px !important; line-height: 20px !important; -moz-tab-size:4; -o-tab-size:4; -webkit-tab-size:4; tab-size:4;\">\n<p><span class=\"crayon-e\">Swagger <\/span><span class=\"crayon-v\">v2<\/span><\/p>\n<p>\u00a0<\/p>\n<p><span class=\"crayon-o\">\/<\/span><span class=\"crayon-v\">get<\/span><span class=\"crayon-sy\">.<\/span><span class=\"crayon-e\">yml<\/span><\/p>\n<p>\u00a0<\/p>\n<p><span class=\"crayon-v\">responses<\/span><span class=\"crayon-o\">:<\/span><\/p>\n<p><span class=\"crayon-h\">\u00a0\u00a0<\/span><span class=\"crayon-cn\">200<\/span><span class=\"crayon-o\">:<\/span><\/p>\n<p><span class=\"crayon-h\">\u00a0\u00a0\u00a0\u00a0<\/span><span class=\"crayon-v\">description<\/span><span class=\"crayon-o\">:<\/span><span class=\"crayon-h\"> <\/span><span class=\"crayon-e\">OK<\/span><\/p>\n<p><span class=\"crayon-e\">\u00a0\u00a0\u00a0\u00a0<\/span><span class=\"crayon-v\">schema<\/span><span class=\"crayon-o\">:<\/span><\/p>\n<p><span class=\"crayon-h\">\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0<\/span><span class=\"crayon-v\">type<\/span><span class=\"crayon-o\">:<\/span><span class=\"crayon-h\"> <\/span><span class=\"crayon-t\">object<\/span><\/p>\n<p><span class=\"crayon-h\">\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0<\/span><span class=\"crayon-v\">required<\/span><span class=\"crayon-o\">:<\/span><\/p>\n<p><span class=\"crayon-h\">\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0<\/span><span class=\"crayon-o\">&#8211;<\/span><span class=\"crayon-h\"> <\/span><span class=\"crayon-i\">data<\/span><\/p>\n<\/div>\n<\/td>\n<\/tr>\n<\/table><\/div><\/div>\n<\/p><\/div>\n<p><!-- [Format Time: 0.0003 seconds] --><\/p>\n<p><!-- Crayon Syntax Highlighter v_2.7.2_beta --><\/p>\n<div id=\"crayon-691441aca907d862670803\" class=\"crayon-syntax crayon-theme-sublime-text crayon-font-consolas crayon-os-pc print-yes notranslate\" data-settings=\" minimize scroll-always\" style=\" max-width: 1000px; margin-top: 12px; margin-bottom: 12px; font-size: 15px !important; line-height: 20px !important;\">\n<div class=\"crayon-main\" style=\" max-width: 1000px;\">\n<div class=\"s_table\"><table class=\"crayon-table\">\n<tr class=\"crayon-row\">\n<td class=\"crayon-nums \" data-settings=\"hide\">\n<\/td>\n<td class=\"crayon-code\">\n<div class=\"crayon-pre\" style=\"font-size: 15px !important; line-height: 20px !important; -moz-tab-size:4; -o-tab-size:4; -webkit-tab-size:4; tab-size:4;\">\n<p><span class=\"crayon-e\">Swagger <\/span><span class=\"crayon-v\">v3<\/span><span class=\"crayon-h\"> <\/span><\/p>\n<p>\u00a0<\/p>\n<p><span class=\"crayon-o\">\/<\/span><span class=\"crayon-v\">get<\/span><span class=\"crayon-sy\">.<\/span><span class=\"crayon-e\">yml<\/span><\/p>\n<p>\u00a0<\/p>\n<p><span class=\"crayon-e\">\u00a0\u00a0<\/span><span class=\"crayon-v\">responses<\/span><span class=\"crayon-o\">:<\/span><\/p>\n<p><span class=\"crayon-h\">\u00a0\u00a0\u00a0\u00a0<\/span><span class=\"crayon-cn\">200<\/span><span class=\"crayon-o\">:<\/span><\/p>\n<p><span class=\"crayon-h\">\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0<\/span><span class=\"crayon-v\">description<\/span><span class=\"crayon-o\">:<\/span><span class=\"crayon-h\"> <\/span><span class=\"crayon-e\">OK<\/span><\/p>\n<p><span class=\"crayon-e\">\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0<\/span><span class=\"crayon-v\">content<\/span><span class=\"crayon-o\">:<\/span><span class=\"crayon-h\">\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0 <\/span>\u2190<span class=\"crayon-h\"> <\/span>\u3053\u3053\u3092\u8ffd\u52a0<\/p>\n<p><span class=\"crayon-h\">\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0<\/span><span class=\"crayon-v\">application<\/span><span class=\"crayon-o\">\/<\/span><span class=\"crayon-v\">json<\/span><span class=\"crayon-o\">:<\/span>\u3000\u2190<span class=\"crayon-h\"> <\/span>\u3053\u3053\u3092\u8ffd\u52a0<\/p>\n<p><span class=\"crayon-h\">\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0<\/span><span class=\"crayon-v\">schema<\/span><span class=\"crayon-o\">:<\/span><\/p>\n<p><span class=\"crayon-h\">\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0<\/span><span class=\"crayon-v\">type<\/span><span class=\"crayon-o\">:<\/span><span class=\"crayon-h\"> <\/span><span class=\"crayon-t\">object<\/span><\/p>\n<p><span class=\"crayon-h\">\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0<\/span><span class=\"crayon-v\">required<\/span><span class=\"crayon-o\">:<\/span><\/p>\n<p><span class=\"crayon-h\">\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0<\/span><span class=\"crayon-o\">&#8211;<\/span><span class=\"crayon-h\"> <\/span><span class=\"crayon-i\">data<\/span><\/p>\n<\/div>\n<\/td>\n<\/tr>\n<\/table><\/div><\/div>\n<\/p><\/div>\n<p><!-- [Format Time: 0.0005 seconds] --><\/p>\n<h4>3.\u4e00\u90e8\u306e\u5185\u90e8\u53c2\u7167\u306b\u306f\u307e\u3060\u5bfe\u5fdc\u3057\u3066\u3044\u307e\u305b\u3093<\/h4>\n<p>Swagger v2\u3067\u306f\u3001\u4e0b\u8a18\u306e\u3088\u3046\u306b\u3001401\u306e\u30d5\u30a1\u30a4\u30eb\u306b\u95a2\u4fc2\u306a\u304f <strong>#<\/strong> \u3092\u4f7f\u3063\u3066\u5185\u90e8\u53c2\u7167\u304c\u53ef\u80fd\u3067\u3059\u3002<\/p>\n<p><!-- Crayon Syntax Highlighter v_2.7.2_beta --><\/p>\n<div id=\"crayon-691441aca907e275436905\" class=\"crayon-syntax crayon-theme-sublime-text crayon-font-consolas crayon-os-pc print-yes notranslate\" data-settings=\" minimize scroll-always\" style=\" max-width: 1000px; margin-top: 12px; margin-bottom: 12px; font-size: 15px !important; line-height: 20px !important;\">\n<div class=\"crayon-main\" style=\" max-width: 1000px;\">\n<div class=\"s_table\"><table class=\"crayon-table\">\n<tr class=\"crayon-row\">\n<td class=\"crayon-nums \" data-settings=\"hide\">\n<\/td>\n<td class=\"crayon-code\">\n<div class=\"crayon-pre\" style=\"font-size: 15px !important; line-height: 20px !important; -moz-tab-size:4; -o-tab-size:4; -webkit-tab-size:4; tab-size:4;\">\n<p><span class=\"crayon-o\">\/<\/span><span class=\"crayon-v\">get<\/span><span class=\"crayon-sy\">.<\/span><span class=\"crayon-i\">yml<\/span><\/p>\n<p>\u00a0<\/p>\n<p><span class=\"crayon-h\">\u00a0\u00a0<\/span><span class=\"crayon-cn\">401<\/span><span class=\"crayon-o\">:<\/span><\/p>\n<p><span class=\"crayon-h\">\u00a0\u00a0\u00a0\u00a0<\/span><span class=\"crayon-sy\">$<\/span><span class=\"crayon-v\">ref<\/span><span class=\"crayon-o\">:<\/span><span class=\"crayon-h\"> <\/span><span class=\"crayon-s\">&#8216;#\/responses\/401&#8217;<\/span><\/p>\n<p><span class=\"crayon-h\">\u00a0\u00a0<\/span><span class=\"crayon-cn\">403<\/span><span class=\"crayon-o\">:<\/span><\/p>\n<p><span class=\"crayon-h\">\u00a0\u00a0\u00a0\u00a0<\/span><span class=\"crayon-sy\">$<\/span><span class=\"crayon-v\">ref<\/span><span class=\"crayon-o\">:<\/span><span class=\"crayon-h\"> <\/span><span class=\"crayon-s\">&#8216;#\/responses\/403&#8217;<\/span><\/p>\n<\/div>\n<\/td>\n<\/tr>\n<\/table><\/div><\/div>\n<\/p><\/div>\n<p><!-- [Format Time: 0.0002 seconds] --><\/p>\n<p>Swagger v3\u3067\u306f\u5185\u90e8\u53c2\u7167\u306b\u5bfe\u5fdc\u3057\u3066\u3044\u306a\u3044\u305f\u3081\u3001\u76f8\u5bfe\u53c2\u7167\u3067\u6307\u5b9a\u3059\u308b\u5f62\u306b\u306a\u308a\u307e\u3059\u3002<\/p>\n<p><!-- Crayon Syntax Highlighter v_2.7.2_beta --><\/p>\n<div id=\"crayon-691441aca9080529602838\" class=\"crayon-syntax crayon-theme-sublime-text crayon-font-consolas crayon-os-pc print-yes notranslate\" data-settings=\" minimize scroll-always\" style=\" max-width: 1000px; margin-top: 12px; margin-bottom: 12px; font-size: 15px !important; line-height: 20px !important;\">\n<div class=\"crayon-main\" style=\" max-width: 1000px;\">\n<div class=\"s_table\"><table class=\"crayon-table\">\n<tr class=\"crayon-row\">\n<td class=\"crayon-nums \" data-settings=\"hide\">\n<\/td>\n<td class=\"crayon-code\">\n<div class=\"crayon-pre\" style=\"font-size: 15px !important; line-height: 20px !important; -moz-tab-size:4; -o-tab-size:4; -webkit-tab-size:4; tab-size:4;\">\n<p><span class=\"crayon-o\">\/<\/span><span class=\"crayon-v\">get<\/span><span class=\"crayon-sy\">.<\/span><span class=\"crayon-i\">yml<\/span><\/p>\n<p>\u00a0<\/p>\n<p><span class=\"crayon-h\">\u00a0\u00a0\u00a0\u00a0<\/span><span class=\"crayon-cn\">401<\/span><span class=\"crayon-o\">:<\/span><\/p>\n<p><span class=\"crayon-h\">\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0<\/span><span class=\"crayon-sy\">$<\/span><span class=\"crayon-v\">ref<\/span><span class=\"crayon-o\">:<\/span><span class=\"crayon-h\"> <\/span><span class=\"crayon-s\">&#8216;..\/..\/components\/responses\/error\/401.yml&#8217;<\/span><\/p>\n<p><span class=\"crayon-h\">\u00a0\u00a0\u00a0\u00a0<\/span><span class=\"crayon-cn\">403<\/span><span class=\"crayon-o\">:<\/span><\/p>\n<p><span class=\"crayon-h\">\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0<\/span><span class=\"crayon-sy\">$<\/span><span class=\"crayon-v\">ref<\/span><span class=\"crayon-o\">:<\/span><span class=\"crayon-h\"> <\/span><span class=\"crayon-s\">&#8216;..\/..\/components\/responses\/error\/403.yml&#8217;<\/span><\/p>\n<\/div>\n<\/td>\n<\/tr>\n<\/table><\/div><\/div>\n<\/p><\/div>\n<p><!-- [Format Time: 0.0002 seconds] --><\/p>\n<h2>\u305d\u306e\u4ed6<\/h2>\n<h4>1.\u74b0\u5883\u4f9d\u5b58\u306e\u6392\u9664\uff08docker-compose.yml \u5229\u7528\uff09<\/h4>\n<p>\u30fbdocker-compose.yml \u3092\u7528\u3044\u308b\u3053\u3068\u3067\u3001OS \u3084PC\u74b0\u5883\u306b\u4f9d\u5b58\u305b\u305a\u3001\u8ab0\u3067\u3082\u540c\u4e00\u306e\u958b\u767a\u74b0\u5883\u3092\u69cb\u7bc9\u53ef\u80fd<br \/>\u30fb\u74b0\u5883\u69cb\u7bc9\u624b\u9806\u3092\u30b3\u30fc\u30c9\u5316\u3059\u308b\u3053\u3068\u3067\u3001\u30bb\u30c3\u30c8\u30a2\u30c3\u30d7\u6642\u9593\u3092\u77ed\u7e2e\u3057\u3001\u30c1\u30fc\u30e0\u5168\u54e1\u3067\u4e00\u8cab\u3057\u305f\u74b0\u5883\u3092\u5171\u6709\u53ef\u80fd<\/p>\n<p><!-- Crayon Syntax Highlighter v_2.7.2_beta --><\/p>\n<div id=\"crayon-691441aca9081344839430\" class=\"crayon-syntax crayon-theme-sublime-text crayon-font-consolas crayon-os-pc print-yes notranslate\" data-settings=\" minimize scroll-always\" style=\" max-width: 1000px; margin-top: 12px; margin-bottom: 12px; font-size: 15px !important; line-height: 20px !important;\">\n<div class=\"crayon-main\" style=\" max-width: 1000px;\">\n<div class=\"s_table\"><table class=\"crayon-table\">\n<tr class=\"crayon-row\">\n<td class=\"crayon-nums \" data-settings=\"hide\">\n<\/td>\n<td class=\"crayon-code\">\n<div class=\"crayon-pre\" style=\"font-size: 15px !important; line-height: 20px !important; -moz-tab-size:4; -o-tab-size:4; -webkit-tab-size:4; tab-size:4;\">\n<p><span class=\"crayon-e\">Dockerfile<\/span><\/p>\n<p>\u00a0<\/p>\n<p><span class=\"crayon-e\">FROM <\/span><span class=\"crayon-v\">node<\/span><span class=\"crayon-o\">:<\/span><span class=\"crayon-cn\">18<\/span><span class=\"crayon-o\">&#8211;<\/span><span class=\"crayon-e\">alpine<\/span><\/p>\n<p>\u00a0<\/p>\n<p><span class=\"crayon-v\">WORKDIR<\/span><span class=\"crayon-h\"> <\/span><span class=\"crayon-o\">\/<\/span><span class=\"crayon-e\">app<\/span><\/p>\n<p>\u00a0<\/p>\n<p><span class=\"crayon-i\">COPY<\/span><span class=\"crayon-h\"> <\/span><span class=\"crayon-sy\">.<\/span><span class=\"crayon-o\">\/<\/span><span class=\"crayon-t\">package<\/span><span class=\"crayon-sy\">.<\/span><span class=\"crayon-v\">json<\/span><span class=\"crayon-h\"> <\/span><span class=\"crayon-o\">\/<\/span><span class=\"crayon-v\">app<\/span><span class=\"crayon-o\">\/<\/span><span class=\"crayon-t\">package<\/span><span class=\"crayon-sy\">.<\/span><span class=\"crayon-e\">json<\/span><\/p>\n<p><span class=\"crayon-e\">RUN <\/span><span class=\"crayon-e\">yarn <\/span><span class=\"crayon-i\">install<\/span><\/p>\n<p>\u00a0<\/p>\n<\/div>\n<\/td>\n<\/tr>\n<\/table><\/div><\/div>\n<\/p><\/div>\n<p><!-- [Format Time: 0.0003 seconds] --><\/p>\n<p><!-- Crayon Syntax Highlighter v_2.7.2_beta --><\/p>\n<div id=\"crayon-691441aca9083803092416\" class=\"crayon-syntax crayon-theme-sublime-text crayon-font-consolas crayon-os-pc print-yes notranslate\" data-settings=\" minimize scroll-always\" style=\" max-width: 1000px; margin-top: 12px; margin-bottom: 12px; font-size: 15px !important; line-height: 20px !important;\">\n<div class=\"crayon-main\" style=\" max-width: 1000px;\">\n<div class=\"s_table\"><table class=\"crayon-table\">\n<tr class=\"crayon-row\">\n<td class=\"crayon-nums \" data-settings=\"hide\">\n<\/td>\n<td class=\"crayon-code\">\n<div class=\"crayon-pre\" style=\"font-size: 15px !important; line-height: 20px !important; -moz-tab-size:4; -o-tab-size:4; -webkit-tab-size:4; tab-size:4;\">\n<p><span class=\"crayon-v\">docker<\/span><span class=\"crayon-o\">&#8211;<\/span><span class=\"crayon-v\">compose<\/span><span class=\"crayon-sy\">.<\/span><span class=\"crayon-e\">yml<\/span><\/p>\n<p>\u00a0<\/p>\n<p><span class=\"crayon-v\">version<\/span><span class=\"crayon-o\">:<\/span><span class=\"crayon-h\"> <\/span><span class=\"crayon-s\">&#8216;3&#8217;<\/span><\/p>\n<p>\u00a0<\/p>\n<p><span class=\"crayon-v\">services<\/span><span class=\"crayon-o\">:<\/span><\/p>\n<p><span class=\"crayon-h\">\u00a0\u00a0<\/span><span class=\"crayon-v\">dsp<\/span><span class=\"crayon-o\">&#8211;<\/span><span class=\"crayon-v\">swagger<\/span><span class=\"crayon-o\">&#8211;<\/span><span class=\"crayon-v\">ui<\/span><span class=\"crayon-o\">:<\/span><\/p>\n<p><span class=\"crayon-h\">\u00a0\u00a0\u00a0\u00a0<\/span><span class=\"crayon-v\">image<\/span><span class=\"crayon-o\">:<\/span><span class=\"crayon-h\"> <\/span><span class=\"crayon-v\">swaggerapi<\/span><span class=\"crayon-o\">\/<\/span><span class=\"crayon-v\">swagger<\/span><span class=\"crayon-o\">&#8211;<\/span><span class=\"crayon-e\">ui<\/span><\/p>\n<p><span class=\"crayon-e\">\u00a0\u00a0\u00a0\u00a0<\/span><span class=\"crayon-v\">container_name<\/span><span class=\"crayon-o\">:<\/span><span class=\"crayon-h\"> <\/span><span class=\"crayon-v\">dsp<\/span><span class=\"crayon-o\">&#8211;<\/span><span class=\"crayon-v\">swagger<\/span><span class=\"crayon-o\">&#8211;<\/span><span class=\"crayon-e\">ui<\/span><\/p>\n<p><span class=\"crayon-e\">\u00a0\u00a0\u00a0\u00a0<\/span><span class=\"crayon-v\">ports<\/span><span class=\"crayon-o\">:<\/span><\/p>\n<p><span class=\"crayon-h\">\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0<\/span><span class=\"crayon-o\">&#8211;<\/span><span class=\"crayon-h\"> <\/span><span class=\"crayon-cn\">8092<\/span><span class=\"crayon-o\">:<\/span><span class=\"crayon-cn\">8080<\/span><\/p>\n<p><span class=\"crayon-h\">\u00a0\u00a0\u00a0\u00a0<\/span><span class=\"crayon-v\">volumes<\/span><span class=\"crayon-o\">:<\/span><\/p>\n<p><span class=\"crayon-h\">\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0<\/span><span class=\"crayon-o\">&#8211;<\/span><span class=\"crayon-h\"> <\/span><span class=\"crayon-sy\">.<\/span><span class=\"crayon-o\">\/<\/span><span class=\"crayon-v\">docs<\/span><span class=\"crayon-o\">:<\/span><span class=\"crayon-o\">\/<\/span><span class=\"crayon-v\">usr<\/span><span class=\"crayon-o\">\/<\/span><span class=\"crayon-v\">share<\/span><span class=\"crayon-o\">\/<\/span><span class=\"crayon-v\">nginx<\/span><span class=\"crayon-o\">\/<\/span><span class=\"crayon-e\">html<\/span><\/p>\n<p>\u00a0<\/p>\n<p><span class=\"crayon-e\">\u00a0\u00a0<\/span><span class=\"crayon-v\">swagger<\/span><span class=\"crayon-o\">&#8211;<\/span><span class=\"crayon-v\">watch<\/span><span class=\"crayon-o\">:<\/span><\/p>\n<p><span class=\"crayon-h\">\u00a0\u00a0\u00a0\u00a0<\/span><span class=\"crayon-v\">build<\/span><span class=\"crayon-o\">:<\/span><span class=\"crayon-h\"> <\/span><span class=\"crayon-sy\">.<\/span><span class=\"crayon-o\">\/<\/span><span class=\"crayon-v\">swagger<\/span><span class=\"crayon-o\">&#8211;<\/span><span class=\"crayon-e\">watch<\/span><\/p>\n<p><span class=\"crayon-e\">\u00a0\u00a0\u00a0\u00a0<\/span><span class=\"crayon-v\">volumes<\/span><span class=\"crayon-o\">:<\/span><\/p>\n<p><span class=\"crayon-h\">\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0<\/span><span class=\"crayon-o\">&#8211;<\/span><span class=\"crayon-h\"> <\/span><span class=\"crayon-sy\">.<\/span><span class=\"crayon-o\">\/<\/span><span class=\"crayon-v\">swagger<\/span><span class=\"crayon-o\">&#8211;<\/span><span class=\"crayon-v\">watch<\/span><span class=\"crayon-o\">:<\/span><span class=\"crayon-o\">\/<\/span><span class=\"crayon-v\">app<\/span><\/p>\n<p><span class=\"crayon-h\">\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0<\/span><span class=\"crayon-o\">&#8211;<\/span><span class=\"crayon-h\"> <\/span><span class=\"crayon-o\">\/<\/span><span class=\"crayon-v\">app<\/span><span class=\"crayon-o\">\/<\/span><span class=\"crayon-v\">node_modules<\/span><\/p>\n<p><span class=\"crayon-h\">\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0<\/span><span class=\"crayon-o\">&#8211;<\/span><span class=\"crayon-h\"> <\/span><span class=\"crayon-sy\">.<\/span><span class=\"crayon-o\">\/<\/span><span class=\"crayon-v\">src<\/span><span class=\"crayon-o\">:<\/span><span class=\"crayon-o\">\/<\/span><span class=\"crayon-v\">src<\/span><\/p>\n<p><span class=\"crayon-h\">\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0<\/span><span class=\"crayon-o\">&#8211;<\/span><span class=\"crayon-h\"> <\/span><span class=\"crayon-sy\">.<\/span><span class=\"crayon-o\">\/<\/span><span class=\"crayon-v\">docs<\/span><span class=\"crayon-o\">\/<\/span><span class=\"crayon-v\">dsp<\/span><span class=\"crayon-o\">&#8211;<\/span><span class=\"crayon-v\">swagger<\/span><span class=\"crayon-sy\">.<\/span><span class=\"crayon-v\">yml<\/span><span class=\"crayon-o\">:<\/span><span class=\"crayon-o\">\/<\/span><span class=\"crayon-v\">docs<\/span><span class=\"crayon-o\">\/<\/span><span class=\"crayon-v\">dsp<\/span><span class=\"crayon-o\">&#8211;<\/span><span class=\"crayon-v\">swagger<\/span><span class=\"crayon-sy\">.<\/span><span class=\"crayon-e\">yml<\/span><\/p>\n<p><span class=\"crayon-e\">\u00a0\u00a0\u00a0\u00a0<\/span><span class=\"crayon-v\">working_dir<\/span><span class=\"crayon-o\">:<\/span><span class=\"crayon-h\"> <\/span><span class=\"crayon-o\">\/<\/span><span class=\"crayon-e\">app<\/span><\/p>\n<p><span class=\"crayon-e\">\u00a0\u00a0\u00a0\u00a0<\/span><span class=\"crayon-v\">command<\/span><span class=\"crayon-o\">:<\/span><span class=\"crayon-h\"> <\/span><span class=\"crayon-s\">&#8216;node index.js&#8217;<\/span><\/p>\n<\/div>\n<\/td>\n<\/tr>\n<\/table><\/div><\/div>\n<\/p><\/div>\n<p><!-- [Format Time: 0.0010 seconds] --><\/p>\n<h4>2.\u7121\u6599\u306e\u30db\u30b9\u30c6\u30a3\u30f3\u30b0\u30b5\u30fc\u30d3\u30b9\u3078\u306e\u79fb\u884c<\/h4>\n<p>\u3000Swagger v2\u3067\u306fAWS\u3092\u5229\u7528\u3057\u3066\u3044\u307e\u3057\u305f\u304c\u3001Swagger\u81ea\u4f53\u306e\u66f4\u65b0\u983b\u5ea6\u304c\u305d\u308c\u307b\u3069\u9ad8\u304f\u306a\u3044\u305f\u3081\u3001\u6599\u91d1\u306f\u5927\u304d\u304f\u304b\u304b\u3063\u3066\u3044\u307e\u305b\u3093\u3067\u3057\u305f\u3002<br \/>\u3000\u3057\u304b\u3057\u3001\u79fb\u884c\u306e\u30bf\u30a4\u30df\u30f3\u30b0\u3067\u7121\u6599\u67a0\u3092\u6d3b\u7528\u3067\u304d\u308b\u3053\u3068\u3068\u3001API\u4ed5\u69d8\u66f8\u304c\u958b\u767a\u5185\u90e8\u3057\u304b\u95b2\u89a7\u3067\u304d\u306a\u3044\u70b9\u3092\u8e0f\u307e\u3048\u3001\u8981\u4ef6\u306b\u5408\u3063\u305f\u9759\u7684\u30b5\u30a4\u30c8\u306e\u7121\u6599\u30db\u30b9\u30c6\u30a3\u30f3\u30b0\u30b5\u30fc\u30d3\u30b9\u3067\u3042\u308b GitHub Pages \u3092\u5229\u7528\u3059\u308b\u3053\u3068\u306b\u3057\u307e\u3057\u305f\u3002<\/p>\n<p><!-- Crayon Syntax Highlighter v_2.7.2_beta --><\/p>\n<div id=\"crayon-691441aca9085287511671\" class=\"crayon-syntax crayon-theme-sublime-text crayon-font-consolas crayon-os-pc print-yes notranslate\" data-settings=\" minimize scroll-always\" style=\" max-width: 1000px; margin-top: 12px; margin-bottom: 12px; font-size: 15px !important; line-height: 20px !important;\">\n<div class=\"crayon-main\" style=\" max-width: 1000px;\">\n<div class=\"s_table\"><table class=\"crayon-table\">\n<tr class=\"crayon-row\">\n<td class=\"crayon-nums \" data-settings=\"hide\">\n<\/td>\n<td class=\"crayon-code\">\n<div class=\"crayon-pre\" style=\"font-size: 15px !important; line-height: 20px !important; -moz-tab-size:4; -o-tab-size:4; -webkit-tab-size:4; tab-size:4;\">\n<p><span class=\"crayon-sy\">.<\/span><span class=\"crayon-v\">github<\/span><span class=\"crayon-o\">\/<\/span><span class=\"crayon-v\">workflows<\/span><span class=\"crayon-o\">\/<\/span><span class=\"crayon-v\">deploy<\/span><span class=\"crayon-sy\">.<\/span><span class=\"crayon-e\">yml<\/span><\/p>\n<p>\u00a0<\/p>\n<p><span class=\"crayon-v\">name<\/span><span class=\"crayon-o\">:<\/span><span class=\"crayon-h\"> <\/span><span class=\"crayon-e\">Deploy <\/span><span class=\"crayon-st\">to<\/span><span class=\"crayon-h\"> <\/span><span class=\"crayon-e\">GitHub <\/span><span class=\"crayon-e\">Pages<\/span><\/p>\n<p>\u00a0<\/p>\n<p><span class=\"crayon-v\">on<\/span><span class=\"crayon-o\">:<\/span><\/p>\n<p><span class=\"crayon-h\">\u00a0\u00a0<\/span><span class=\"crayon-v\">push<\/span><span class=\"crayon-o\">:<\/span><\/p>\n<p><span class=\"crayon-h\">\u00a0\u00a0\u00a0\u00a0<\/span><span class=\"crayon-v\">branches<\/span><span class=\"crayon-o\">:<\/span><\/p>\n<p><span class=\"crayon-h\">\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0<\/span><span class=\"crayon-o\">&#8211;<\/span><span class=\"crayon-h\"> <\/span><span class=\"crayon-e\">master<\/span><\/p>\n<p>\u00a0<\/p>\n<p><span class=\"crayon-v\">jobs<\/span><span class=\"crayon-o\">:<\/span><\/p>\n<p><span class=\"crayon-h\">\u00a0\u00a0<\/span><span class=\"crayon-v\">build<\/span><span class=\"crayon-o\">:<\/span><\/p>\n<p><span class=\"crayon-h\">\u00a0\u00a0\u00a0\u00a0<\/span><span class=\"crayon-v\">runs<\/span><span class=\"crayon-o\">&#8211;<\/span><span class=\"crayon-v\">on<\/span><span class=\"crayon-o\">:<\/span><span class=\"crayon-h\"> <\/span><span class=\"crayon-v\">ubuntu<\/span><span class=\"crayon-o\">&#8211;<\/span><span class=\"crayon-e\">latest<\/span><\/p>\n<p><span class=\"crayon-e\">\u00a0\u00a0\u00a0\u00a0<\/span><span class=\"crayon-v\">steps<\/span><span class=\"crayon-o\">:<\/span><\/p>\n<p><span class=\"crayon-h\">\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0<\/span><span class=\"crayon-o\">&#8211;<\/span><span class=\"crayon-h\"> <\/span><span class=\"crayon-v\">name<\/span><span class=\"crayon-o\">:<\/span><span class=\"crayon-h\"> <\/span><span class=\"crayon-e\">Checkout <\/span><span class=\"crayon-e\">code<\/span><\/p>\n<p><span class=\"crayon-e\">\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0<\/span><span class=\"crayon-v\">uses<\/span><span class=\"crayon-o\">:<\/span><span class=\"crayon-h\"> <\/span><span class=\"crayon-v\">actions<\/span><span class=\"crayon-o\">\/<\/span><span class=\"crayon-v\">checkout<\/span><span class=\"crayon-sy\">@<\/span><span class=\"crayon-v\">v4<\/span><\/p>\n<p>\u00a0<\/p>\n<p><span class=\"crayon-h\">\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0<\/span><span class=\"crayon-o\">&#8211;<\/span><span class=\"crayon-h\"> <\/span><span class=\"crayon-v\">name<\/span><span class=\"crayon-o\">:<\/span><span class=\"crayon-h\"> <\/span><span class=\"crayon-e\">List <\/span><span class=\"crayon-e\">files <\/span><span class=\"crayon-st\">in<\/span><span class=\"crayon-h\"> <\/span><span class=\"crayon-e\">current <\/span><span class=\"crayon-e\">directory<\/span><\/p>\n<p><span class=\"crayon-e\">\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0<\/span><span class=\"crayon-v\">run<\/span><span class=\"crayon-o\">:<\/span><span class=\"crayon-h\"> <\/span><span class=\"crayon-v\">ls<\/span><span class=\"crayon-h\"> <\/span><span class=\"crayon-o\">&#8211;<\/span><span class=\"crayon-v\">R<\/span><\/p>\n<p>\u00a0<\/p>\n<p><span class=\"crayon-h\">\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0<\/span><span class=\"crayon-o\">&#8211;<\/span><span class=\"crayon-h\"> <\/span><span class=\"crayon-v\">name<\/span><span class=\"crayon-o\">:<\/span><span class=\"crayon-h\"> <\/span><span class=\"crayon-e\">Install <\/span><span class=\"crayon-v\">swagger<\/span><span class=\"crayon-o\">&#8211;<\/span><span class=\"crayon-e\">cli<\/span><\/p>\n<p><span class=\"crayon-e\">\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0<\/span><span class=\"crayon-v\">run<\/span><span class=\"crayon-o\">:<\/span><span class=\"crayon-h\"> <\/span><span class=\"crayon-o\">|<\/span><\/p>\n<p><span class=\"crayon-h\">\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0<\/span><span class=\"crayon-e\">npm <\/span><span class=\"crayon-v\">install<\/span><span class=\"crayon-h\"> <\/span><span class=\"crayon-o\">&#8211;<\/span><span class=\"crayon-i\">g<\/span><span class=\"crayon-h\"> <\/span><span class=\"crayon-v\">swagger<\/span><span class=\"crayon-o\">&#8211;<\/span><span class=\"crayon-v\">cli<\/span><\/p>\n<p>\u00a0<\/p>\n<p><span class=\"crayon-h\">\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0<\/span><span class=\"crayon-o\">&#8211;<\/span><span class=\"crayon-h\"> <\/span><span class=\"crayon-v\">name<\/span><span class=\"crayon-o\">:<\/span><span class=\"crayon-h\"> <\/span><span class=\"crayon-e\">Generate <\/span><span class=\"crayon-e\">Swagger <\/span><span class=\"crayon-e\">UI<\/span><\/p>\n<p><span class=\"crayon-e\">\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0<\/span><span class=\"crayon-v\">uses<\/span><span class=\"crayon-o\">:<\/span><span class=\"crayon-h\"> <\/span><span class=\"crayon-v\">Legion2<\/span><span class=\"crayon-o\">\/<\/span><span class=\"crayon-v\">swagger<\/span><span class=\"crayon-o\">&#8211;<\/span><span class=\"crayon-v\">ui<\/span><span class=\"crayon-o\">&#8211;<\/span><span class=\"crayon-v\">action<\/span><span class=\"crayon-sy\">@<\/span><span class=\"crayon-e\">v1<\/span><\/p>\n<p><span class=\"crayon-e\">\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0<\/span><span class=\"crayon-v\">with<\/span><span class=\"crayon-o\">:<\/span><\/p>\n<p><span class=\"crayon-h\">\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0<\/span><span class=\"crayon-v\">output<\/span><span class=\"crayon-o\">:<\/span><span class=\"crayon-h\"> <\/span><span class=\"crayon-v\">swagger<\/span><span class=\"crayon-o\">&#8211;<\/span><span class=\"crayon-e\">ui<\/span><\/p>\n<p><span class=\"crayon-e\">\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0<\/span><span class=\"crayon-v\">spec<\/span><span class=\"crayon-o\">&#8211;<\/span><span class=\"crayon-v\">file<\/span><span class=\"crayon-o\">:<\/span><span class=\"crayon-h\"> <\/span><span class=\"crayon-v\">docs<\/span><span class=\"crayon-o\">\/<\/span><span class=\"crayon-v\">dsp<\/span><span class=\"crayon-o\">&#8211;<\/span><span class=\"crayon-v\">swagger<\/span><span class=\"crayon-sy\">.<\/span><span class=\"crayon-e\">yml<\/span><\/p>\n<p><span class=\"crayon-e\">\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0<\/span><span class=\"crayon-v\">GITHUB_TOKEN<\/span><span class=\"crayon-o\">:<\/span><span class=\"crayon-h\"> <\/span><span class=\"crayon-sy\">$<\/span><span class=\"crayon-sy\">{<\/span><span class=\"crayon-sy\">{<\/span><span class=\"crayon-h\"> <\/span><span class=\"crayon-v\">secrets<\/span><span class=\"crayon-sy\">.<\/span><span class=\"crayon-v\">GITHUB<\/span><span class=\"crayon-sy\">_<\/span>TOKEN<span class=\"crayon-h\"> <\/span><span class=\"crayon-sy\">}<\/span><span class=\"crayon-sy\">}<\/span><\/p>\n<p>\u00a0<\/p>\n<p><span class=\"crayon-h\">\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0<\/span><span class=\"crayon-o\">&#8211;<\/span><span class=\"crayon-h\"> <\/span><span class=\"crayon-v\">name<\/span><span class=\"crayon-o\">:<\/span><span class=\"crayon-h\"> <\/span><span class=\"crayon-e\">Deploy <\/span><span class=\"crayon-st\">to<\/span><span class=\"crayon-h\"> <\/span><span class=\"crayon-e\">GitHub <\/span><span class=\"crayon-e\">Pages<\/span><\/p>\n<p><span class=\"crayon-e\">\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0<\/span><span class=\"crayon-v\">uses<\/span><span class=\"crayon-o\">:<\/span><span class=\"crayon-h\"> <\/span><span class=\"crayon-v\">peaceiris<\/span><span class=\"crayon-o\">\/<\/span><span class=\"crayon-v\">actions<\/span><span class=\"crayon-o\">&#8211;<\/span><span class=\"crayon-v\">gh<\/span><span class=\"crayon-o\">&#8211;<\/span><span class=\"crayon-v\">pages<\/span><span class=\"crayon-sy\">@<\/span><span class=\"crayon-e\">v3<\/span><\/p>\n<p><span class=\"crayon-e\">\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0<\/span><span class=\"crayon-v\">with<\/span><span class=\"crayon-o\">:<\/span><\/p>\n<p><span class=\"crayon-h\">\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0<\/span><span class=\"crayon-v\">github_token<\/span><span class=\"crayon-o\">:<\/span><span class=\"crayon-h\"> <\/span><span class=\"crayon-sy\">$<\/span><span class=\"crayon-sy\">{<\/span><span class=\"crayon-sy\">{<\/span><span class=\"crayon-h\"> <\/span><span class=\"crayon-v\">secrets<\/span><span class=\"crayon-sy\">.<\/span><span class=\"crayon-v\">GITHUB<\/span><span class=\"crayon-sy\">_<\/span>TOKEN<span class=\"crayon-h\"> <\/span><span class=\"crayon-sy\">}<\/span><span class=\"crayon-sy\">}<\/span><\/p>\n<p><span class=\"crayon-h\">\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0<\/span><span class=\"crayon-v\">publish_dir<\/span><span class=\"crayon-o\">:<\/span><span class=\"crayon-h\"> <\/span><span class=\"crayon-v\">swagger<\/span><span class=\"crayon-o\">&#8211;<\/span><span class=\"crayon-i\">ui<\/span><\/p>\n<p>\u00a0<\/p>\n<\/div>\n<\/td>\n<\/tr>\n<\/table><\/div><\/div>\n<\/p><\/div>\n<p><!-- [Format Time: 0.0016 seconds] --><\/p>\n<h4>GitHub Pages\u306e\u8a2d\u5b9a<\/h4>\n<p><img decoding=\"async\" data-lazy=\"1\" src=\"https:\/\/techblog.recochoku.jp\/wp-content\/uploads\/2025\/11\/image-20251105031233180.png\" alt=\"image-20251105031233180.png\"\/><img decoding=\"async\" src=\"https:\/\/techblog.recochoku.jp\/wp-content\/uploads\/2025\/11\/image-20251105031233180.png\" alt=\"image-20251105031233180.png\"\/><\/p>\n<h2>\u307e\u3068\u3081<\/h2>\n<p>\u3000\u4eca\u56de\u306e\u79fb\u884c\u3067\u306f\u3001Swagger v2 \u304b\u3089 Swagger v3 \u3078\u306e\u76f4\u63a5\u30a2\u30c3\u30d7\u30b0\u30ec\u30fc\u30c9\u306f\u3001\u74b0\u5883\u4f9d\u5b58\u3084\u30e9\u30a4\u30d6\u30e9\u30ea\u306e\u5f71\u97ff\u3067\u3046\u307e\u304f\u3044\u304b\u305a\u3001\u8abf\u67fb\u306b\u6642\u9593\u3092\u8981\u3057\u307e\u3057\u305f\u3002\u305d\u306e\u305f\u3081\u3001Swagger v2 \u306e\u66f4\u65b0\u3092\u3084\u3081\u3001Swagger v3 \u306b\u4f5c\u308a\u76f4\u3059\u3053\u3068\u3092\u6c7a\u65ad\u3057\u307e\u3057\u305f\u3002<br \/>\u3000\u5b8c\u5168\u306b\u4f5c\u308a\u76f4\u3059\u5f62\u3068\u306a\u308a\u3001\u3055\u3089\u306b v2 \u6642\u4ee3\u306e\u30d5\u30a1\u30a4\u30eb\u306f\u4ed5\u69d8\u5909\u66f4\u3082\u3042\u3063\u305f\u305f\u3081\u3001\u305d\u306e\u307e\u307e\u30b3\u30d4\u30fc\u3057\u3066\u6d41\u7528\u3059\u308b\u3053\u3068\u306f\u3067\u304d\u307e\u305b\u3093\u3067\u3057\u305f\u3002\u6642\u9593\u306f\u304b\u304b\u308a\u307e\u3057\u305f\u304c\u3001\u3084\u308a\u305f\u3044\u3053\u3068\u3092\u5b9f\u73fe\u3067\u304d\u305f\u305f\u3081\u3001\u7d50\u679c\u7684\u306b\u826f\u3044\u5224\u65ad\u3060\u3063\u305f\u3068\u8003\u3048\u3066\u3044\u307e\u3059\u3002<br \/>\u3000\u76f4\u63a5\u30a2\u30c3\u30d7\u30b0\u30ec\u30fc\u30c9\u304c\u96e3\u822a\u3059\u308b\u5834\u5408\u306f\u3001\u4f5c\u308a\u76f4\u3059\u65b9\u304c\u9069\u3057\u3066\u3044\u308b\u30b1\u30fc\u30b9\u3082\u3042\u308b\u304b\u3082\u3057\u308c\u307e\u305b\u3093\u3002<\/p>\n<div class=\"padSection\" id=\"padSection\">\n<h4>\u3053\u306e\u8a18\u4e8b\u3092\u66f8\u3044\u305f\u4eba<\/h4>\n<div id=\"avatar\" class=\"avatar square\"><img loading=\"lazy\" decoding=\"async\" data-lazy=\"1\" src=\"https:\/\/techblog.recochoku.jp\/wp-content\/uploads\/2024\/12\/icon-180x180.png\" width=\"180\" height=\"180\" alt=\"\u5f90\u6749\" class=\"avatar avatar-180 wp-user-avatar wp-user-avatar-180 alignnone photo\"\/><img loading=\"lazy\" decoding=\"async\" src=\"https:\/\/techblog.recochoku.jp\/wp-content\/uploads\/2024\/12\/icon-180x180.png\" width=\"180\" height=\"180\" alt=\"\u5f90\u6749\" class=\"avatar avatar-180 wp-user-avatar wp-user-avatar-180 alignnone photo\"\/><\/div>\n<p><!-- [ \/#avatar ] --><\/p>\n<dl id=\"profileTxtSet\" class=\"profileTxtSet\">\n<dt>\n<span id=\"authorName\" class=\"authorName\">\u5f90\u6749<\/span><\/dt>\n<dd>\n<\/dd>\n<\/dl>\n<\/div>\n<\/div>\n<p><!--\/.meta-box--><\/p>\n<hr\/>\n<\/div>\n\n<br \/><a href=\"https:\/\/techblog.recochoku.jp\/12201\">\u5143\u306e\u8a18\u4e8b\u3092\u78ba\u8a8d\u3059\u308b <\/a><\/p>\n","protected":false},"excerpt":{"rendered":"2025-11-12GitHub Pages, Swagger \u306f\u3058\u3081\u306b \u3000\u3053\u3093\u306b\u3061\u306f\uff01EggsPass\u30c1\u30fc\u30e0\u3067\u4e3b\u306b\u30d0\u30c3\u30af\u30a8\u30f3\u30c9\u30a8\u30f3\u30b8\u30cb\u30a2\u3092\u3057\u3066\u3044\u308b\u5f90\u3067\u3059\u3002\u672c\u8a18\u4e8b\u3067\u306f\u3001API\u30c9\u30ad\u30e5\u30e1\u30f3\u30c8\u30b8\u30a7\u30cd\u30ec\u30fc\u30bf\u3092 Swagger v [&hellip;]","protected":false},"author":1,"featured_media":23430,"comment_status":"closed","ping_status":"closed","sticky":false,"template":"","format":"standard","meta":{"_acf_changed":false,"footnotes":""},"categories":[4],"tags":[],"class_list":["post-23429","post","type-post","status-publish","format-standard","has-post-thumbnail","hentry","category-company-tec"],"acf":[],"yoast_head":"<!-- This site is optimized with the Yoast SEO plugin v27.6 - https:\/\/yoast.com\/product\/yoast-seo-wordpress\/ -->\n<title>Swagger v3 \u306b\u79fb\u884c\u3059\u308b\u969b\u306e v2 \u3068\u306e\u4e3b\u306a\u9055\u3044\u3068\u5bfe\u5fdc - \u30dd\u30b1\u30b3\u30f3<\/title>\n<meta name=\"robots\" content=\"index, follow, max-snippet:-1, max-image-preview:large, max-video-preview:-1\" \/>\n<link rel=\"canonical\" href=\"https:\/\/techblog.recochoku.jp\/12201\" \/>\n<meta property=\"og:locale\" content=\"ja_JP\" \/>\n<meta property=\"og:type\" content=\"article\" \/>\n<meta property=\"og:title\" content=\"Swagger v3 \u306b\u79fb\u884c\u3059\u308b\u969b\u306e v2 \u3068\u306e\u4e3b\u306a\u9055\u3044\u3068\u5bfe\u5fdc - \u30dd\u30b1\u30b3\u30f3\" \/>\n<meta property=\"og:description\" content=\"2025-11-12GitHub Pages, Swagger \u306f\u3058\u3081\u306b \u3000\u3053\u3093\u306b\u3061\u306f\uff01EggsPass\u30c1\u30fc\u30e0\u3067\u4e3b\u306b\u30d0\u30c3\u30af\u30a8\u30f3\u30c9\u30a8\u30f3\u30b8\u30cb\u30a2\u3092\u3057\u3066\u3044\u308b\u5f90\u3067\u3059\u3002\u672c\u8a18\u4e8b\u3067\u306f\u3001API\u30c9\u30ad\u30e5\u30e1\u30f3\u30c8\u30b8\u30a7\u30cd\u30ec\u30fc\u30bf\u3092 Swagger v [&hellip;]\" \/>\n<meta property=\"og:url\" content=\"https:\/\/techblog.recochoku.jp\/12201\" \/>\n<meta property=\"og:site_name\" content=\"\u30dd\u30b1\u30b3\u30f3\" \/>\n<meta property=\"article:published_time\" content=\"2025-11-12T22:52:09+00:00\" \/>\n<meta property=\"og:image\" content=\"https:\/\/pokecon.jp\/job\/wp-content\/uploads\/2025\/11\/swagger-logo.png\" \/>\n\t<meta property=\"og:image:width\" content=\"280\" \/>\n\t<meta property=\"og:image:height\" content=\"280\" \/>\n\t<meta property=\"og:image:type\" content=\"image\/png\" \/>\n<meta name=\"author\" content=\"info@pokecon.jp\" \/>\n<meta name=\"twitter:card\" content=\"summary_large_image\" \/>\n<meta name=\"twitter:label1\" content=\"\u57f7\u7b46\u8005\" \/>\n\t<meta name=\"twitter:data1\" content=\"info@pokecon.jp\" \/>\n\t<meta name=\"twitter:label2\" content=\"\u63a8\u5b9a\u8aad\u307f\u53d6\u308a\u6642\u9593\" \/>\n\t<meta name=\"twitter:data2\" content=\"2\u5206\" \/>\n<script type=\"application\/ld+json\" class=\"yoast-schema-graph\">{\"@context\":\"https:\\\/\\\/schema.org\",\"@graph\":[{\"@type\":\"Article\",\"@id\":\"https:\\\/\\\/techblog.recochoku.jp\\\/12201#article\",\"isPartOf\":{\"@id\":\"https:\\\/\\\/pokecon.jp\\\/job\\\/23429\\\/\"},\"author\":{\"name\":\"info@pokecon.jp\",\"@id\":\"https:\\\/\\\/pokecon.jp\\\/job\\\/#\\\/schema\\\/person\\\/16c9f07b1ba984d165d9aee259bda997\"},\"headline\":\"Swagger v3 \u306b\u79fb\u884c\u3059\u308b\u969b\u306e v2 \u3068\u306e\u4e3b\u306a\u9055\u3044\u3068\u5bfe\u5fdc\",\"datePublished\":\"2025-11-12T22:52:09+00:00\",\"mainEntityOfPage\":{\"@id\":\"https:\\\/\\\/pokecon.jp\\\/job\\\/23429\\\/\"},\"wordCount\":480,\"image\":{\"@id\":\"https:\\\/\\\/techblog.recochoku.jp\\\/12201#primaryimage\"},\"thumbnailUrl\":\"https:\\\/\\\/pokecon.jp\\\/job\\\/wp-content\\\/uploads\\\/2025\\\/11\\\/swagger-logo.png\",\"articleSection\":[\"\u4f01\u696d\u30c6\u30c3\u30af\"],\"inLanguage\":\"ja\"},{\"@type\":\"WebPage\",\"@id\":\"https:\\\/\\\/pokecon.jp\\\/job\\\/23429\\\/\",\"url\":\"https:\\\/\\\/techblog.recochoku.jp\\\/12201\",\"name\":\"Swagger v3 \u306b\u79fb\u884c\u3059\u308b\u969b\u306e v2 \u3068\u306e\u4e3b\u306a\u9055\u3044\u3068\u5bfe\u5fdc - \u30dd\u30b1\u30b3\u30f3\",\"isPartOf\":{\"@id\":\"https:\\\/\\\/pokecon.jp\\\/job\\\/#website\"},\"primaryImageOfPage\":{\"@id\":\"https:\\\/\\\/techblog.recochoku.jp\\\/12201#primaryimage\"},\"image\":{\"@id\":\"https:\\\/\\\/techblog.recochoku.jp\\\/12201#primaryimage\"},\"thumbnailUrl\":\"https:\\\/\\\/pokecon.jp\\\/job\\\/wp-content\\\/uploads\\\/2025\\\/11\\\/swagger-logo.png\",\"datePublished\":\"2025-11-12T22:52:09+00:00\",\"author\":{\"@id\":\"https:\\\/\\\/pokecon.jp\\\/job\\\/#\\\/schema\\\/person\\\/16c9f07b1ba984d165d9aee259bda997\"},\"breadcrumb\":{\"@id\":\"https:\\\/\\\/techblog.recochoku.jp\\\/12201#breadcrumb\"},\"inLanguage\":\"ja\",\"potentialAction\":[{\"@type\":\"ReadAction\",\"target\":[\"https:\\\/\\\/techblog.recochoku.jp\\\/12201\"]}]},{\"@type\":\"ImageObject\",\"inLanguage\":\"ja\",\"@id\":\"https:\\\/\\\/techblog.recochoku.jp\\\/12201#primaryimage\",\"url\":\"https:\\\/\\\/pokecon.jp\\\/job\\\/wp-content\\\/uploads\\\/2025\\\/11\\\/swagger-logo.png\",\"contentUrl\":\"https:\\\/\\\/pokecon.jp\\\/job\\\/wp-content\\\/uploads\\\/2025\\\/11\\\/swagger-logo.png\",\"width\":280,\"height\":280},{\"@type\":\"BreadcrumbList\",\"@id\":\"https:\\\/\\\/techblog.recochoku.jp\\\/12201#breadcrumb\",\"itemListElement\":[{\"@type\":\"ListItem\",\"position\":1,\"name\":\"\u30db\u30fc\u30e0\",\"item\":\"https:\\\/\\\/pokecon.jp\\\/job\\\/\"},{\"@type\":\"ListItem\",\"position\":2,\"name\":\"Swagger v3 \u306b\u79fb\u884c\u3059\u308b\u969b\u306e v2 \u3068\u306e\u4e3b\u306a\u9055\u3044\u3068\u5bfe\u5fdc\"}]},{\"@type\":\"WebSite\",\"@id\":\"https:\\\/\\\/pokecon.jp\\\/job\\\/#website\",\"url\":\"https:\\\/\\\/pokecon.jp\\\/job\\\/\",\"name\":\"\u30dd\u30b1\u30b3\u30f3\",\"description\":\"\",\"potentialAction\":[{\"@type\":\"SearchAction\",\"target\":{\"@type\":\"EntryPoint\",\"urlTemplate\":\"https:\\\/\\\/pokecon.jp\\\/job\\\/?s={search_term_string}\"},\"query-input\":{\"@type\":\"PropertyValueSpecification\",\"valueRequired\":true,\"valueName\":\"search_term_string\"}}],\"inLanguage\":\"ja\"},{\"@type\":\"Person\",\"@id\":\"https:\\\/\\\/pokecon.jp\\\/job\\\/#\\\/schema\\\/person\\\/16c9f07b1ba984d165d9aee259bda997\",\"name\":\"info@pokecon.jp\",\"image\":{\"@type\":\"ImageObject\",\"inLanguage\":\"ja\",\"@id\":\"https:\\\/\\\/secure.gravatar.com\\\/avatar\\\/2b0549cd9f7907c092ca5fbb283baf72337f235726e4b46fa39ec0b701ac2fe2?s=96&d=wavatar&r=g\",\"url\":\"https:\\\/\\\/secure.gravatar.com\\\/avatar\\\/2b0549cd9f7907c092ca5fbb283baf72337f235726e4b46fa39ec0b701ac2fe2?s=96&d=wavatar&r=g\",\"contentUrl\":\"https:\\\/\\\/secure.gravatar.com\\\/avatar\\\/2b0549cd9f7907c092ca5fbb283baf72337f235726e4b46fa39ec0b701ac2fe2?s=96&d=wavatar&r=g\",\"caption\":\"info@pokecon.jp\"},\"url\":\"https:\\\/\\\/pokecon.jp\\\/job\\\/author\\\/infopokecon-jp\\\/\"}]}<\/script>\n<!-- \/ Yoast SEO plugin. -->","yoast_head_json":{"title":"Swagger v3 \u306b\u79fb\u884c\u3059\u308b\u969b\u306e v2 \u3068\u306e\u4e3b\u306a\u9055\u3044\u3068\u5bfe\u5fdc - \u30dd\u30b1\u30b3\u30f3","robots":{"index":"index","follow":"follow","max-snippet":"max-snippet:-1","max-image-preview":"max-image-preview:large","max-video-preview":"max-video-preview:-1"},"canonical":"https:\/\/techblog.recochoku.jp\/12201","og_locale":"ja_JP","og_type":"article","og_title":"Swagger v3 \u306b\u79fb\u884c\u3059\u308b\u969b\u306e v2 \u3068\u306e\u4e3b\u306a\u9055\u3044\u3068\u5bfe\u5fdc - \u30dd\u30b1\u30b3\u30f3","og_description":"2025-11-12GitHub Pages, Swagger \u306f\u3058\u3081\u306b \u3000\u3053\u3093\u306b\u3061\u306f\uff01EggsPass\u30c1\u30fc\u30e0\u3067\u4e3b\u306b\u30d0\u30c3\u30af\u30a8\u30f3\u30c9\u30a8\u30f3\u30b8\u30cb\u30a2\u3092\u3057\u3066\u3044\u308b\u5f90\u3067\u3059\u3002\u672c\u8a18\u4e8b\u3067\u306f\u3001API\u30c9\u30ad\u30e5\u30e1\u30f3\u30c8\u30b8\u30a7\u30cd\u30ec\u30fc\u30bf\u3092 Swagger v [&hellip;]","og_url":"https:\/\/techblog.recochoku.jp\/12201","og_site_name":"\u30dd\u30b1\u30b3\u30f3","article_published_time":"2025-11-12T22:52:09+00:00","og_image":[{"width":280,"height":280,"url":"https:\/\/pokecon.jp\/job\/wp-content\/uploads\/2025\/11\/swagger-logo.png","type":"image\/png"}],"author":"info@pokecon.jp","twitter_card":"summary_large_image","twitter_misc":{"\u57f7\u7b46\u8005":"info@pokecon.jp","\u63a8\u5b9a\u8aad\u307f\u53d6\u308a\u6642\u9593":"2\u5206"},"schema":{"@context":"https:\/\/schema.org","@graph":[{"@type":"Article","@id":"https:\/\/techblog.recochoku.jp\/12201#article","isPartOf":{"@id":"https:\/\/pokecon.jp\/job\/23429\/"},"author":{"name":"info@pokecon.jp","@id":"https:\/\/pokecon.jp\/job\/#\/schema\/person\/16c9f07b1ba984d165d9aee259bda997"},"headline":"Swagger v3 \u306b\u79fb\u884c\u3059\u308b\u969b\u306e v2 \u3068\u306e\u4e3b\u306a\u9055\u3044\u3068\u5bfe\u5fdc","datePublished":"2025-11-12T22:52:09+00:00","mainEntityOfPage":{"@id":"https:\/\/pokecon.jp\/job\/23429\/"},"wordCount":480,"image":{"@id":"https:\/\/techblog.recochoku.jp\/12201#primaryimage"},"thumbnailUrl":"https:\/\/pokecon.jp\/job\/wp-content\/uploads\/2025\/11\/swagger-logo.png","articleSection":["\u4f01\u696d\u30c6\u30c3\u30af"],"inLanguage":"ja"},{"@type":"WebPage","@id":"https:\/\/pokecon.jp\/job\/23429\/","url":"https:\/\/techblog.recochoku.jp\/12201","name":"Swagger v3 \u306b\u79fb\u884c\u3059\u308b\u969b\u306e v2 \u3068\u306e\u4e3b\u306a\u9055\u3044\u3068\u5bfe\u5fdc - \u30dd\u30b1\u30b3\u30f3","isPartOf":{"@id":"https:\/\/pokecon.jp\/job\/#website"},"primaryImageOfPage":{"@id":"https:\/\/techblog.recochoku.jp\/12201#primaryimage"},"image":{"@id":"https:\/\/techblog.recochoku.jp\/12201#primaryimage"},"thumbnailUrl":"https:\/\/pokecon.jp\/job\/wp-content\/uploads\/2025\/11\/swagger-logo.png","datePublished":"2025-11-12T22:52:09+00:00","author":{"@id":"https:\/\/pokecon.jp\/job\/#\/schema\/person\/16c9f07b1ba984d165d9aee259bda997"},"breadcrumb":{"@id":"https:\/\/techblog.recochoku.jp\/12201#breadcrumb"},"inLanguage":"ja","potentialAction":[{"@type":"ReadAction","target":["https:\/\/techblog.recochoku.jp\/12201"]}]},{"@type":"ImageObject","inLanguage":"ja","@id":"https:\/\/techblog.recochoku.jp\/12201#primaryimage","url":"https:\/\/pokecon.jp\/job\/wp-content\/uploads\/2025\/11\/swagger-logo.png","contentUrl":"https:\/\/pokecon.jp\/job\/wp-content\/uploads\/2025\/11\/swagger-logo.png","width":280,"height":280},{"@type":"BreadcrumbList","@id":"https:\/\/techblog.recochoku.jp\/12201#breadcrumb","itemListElement":[{"@type":"ListItem","position":1,"name":"\u30db\u30fc\u30e0","item":"https:\/\/pokecon.jp\/job\/"},{"@type":"ListItem","position":2,"name":"Swagger v3 \u306b\u79fb\u884c\u3059\u308b\u969b\u306e v2 \u3068\u306e\u4e3b\u306a\u9055\u3044\u3068\u5bfe\u5fdc"}]},{"@type":"WebSite","@id":"https:\/\/pokecon.jp\/job\/#website","url":"https:\/\/pokecon.jp\/job\/","name":"\u30dd\u30b1\u30b3\u30f3","description":"","potentialAction":[{"@type":"SearchAction","target":{"@type":"EntryPoint","urlTemplate":"https:\/\/pokecon.jp\/job\/?s={search_term_string}"},"query-input":{"@type":"PropertyValueSpecification","valueRequired":true,"valueName":"search_term_string"}}],"inLanguage":"ja"},{"@type":"Person","@id":"https:\/\/pokecon.jp\/job\/#\/schema\/person\/16c9f07b1ba984d165d9aee259bda997","name":"info@pokecon.jp","image":{"@type":"ImageObject","inLanguage":"ja","@id":"https:\/\/secure.gravatar.com\/avatar\/2b0549cd9f7907c092ca5fbb283baf72337f235726e4b46fa39ec0b701ac2fe2?s=96&d=wavatar&r=g","url":"https:\/\/secure.gravatar.com\/avatar\/2b0549cd9f7907c092ca5fbb283baf72337f235726e4b46fa39ec0b701ac2fe2?s=96&d=wavatar&r=g","contentUrl":"https:\/\/secure.gravatar.com\/avatar\/2b0549cd9f7907c092ca5fbb283baf72337f235726e4b46fa39ec0b701ac2fe2?s=96&d=wavatar&r=g","caption":"info@pokecon.jp"},"url":"https:\/\/pokecon.jp\/job\/author\/infopokecon-jp\/"}]}},"_links":{"self":[{"href":"https:\/\/pokecon.jp\/job\/wp-json\/wp\/v2\/posts\/23429","targetHints":{"allow":["GET"]}}],"collection":[{"href":"https:\/\/pokecon.jp\/job\/wp-json\/wp\/v2\/posts"}],"about":[{"href":"https:\/\/pokecon.jp\/job\/wp-json\/wp\/v2\/types\/post"}],"author":[{"embeddable":true,"href":"https:\/\/pokecon.jp\/job\/wp-json\/wp\/v2\/users\/1"}],"replies":[{"embeddable":true,"href":"https:\/\/pokecon.jp\/job\/wp-json\/wp\/v2\/comments?post=23429"}],"version-history":[{"count":1,"href":"https:\/\/pokecon.jp\/job\/wp-json\/wp\/v2\/posts\/23429\/revisions"}],"predecessor-version":[{"id":23431,"href":"https:\/\/pokecon.jp\/job\/wp-json\/wp\/v2\/posts\/23429\/revisions\/23431"}],"wp:featuredmedia":[{"embeddable":true,"href":"https:\/\/pokecon.jp\/job\/wp-json\/wp\/v2\/media\/23430"}],"wp:attachment":[{"href":"https:\/\/pokecon.jp\/job\/wp-json\/wp\/v2\/media?parent=23429"}],"wp:term":[{"taxonomy":"category","embeddable":true,"href":"https:\/\/pokecon.jp\/job\/wp-json\/wp\/v2\/categories?post=23429"},{"taxonomy":"post_tag","embeddable":true,"href":"https:\/\/pokecon.jp\/job\/wp-json\/wp\/v2\/tags?post=23429"}],"curies":[{"name":"wp","href":"https:\/\/api.w.org\/{rel}","templated":true}]}}