- ã¯ããã«
- 対象èªè
- TL;DR
- OpenAPI Specificationã¨ã¯
- OASãå°å ¥ãããã¨ã®ä½ãå¬ããï¼
- å°å ¥ã¾ã§ã®èª²é¡
- å°å ¥ãã¦ï¼å¹´ãéçºç°å¢ã¯æ¹åãããã®ãï¼
- ãããã«
ã¯ããã«
ã©ã¯ã¹ããã³ãã¨ã³ãéçº2課ã®æè¤ã§ãã
ã©ã¯ã¹ã®éçºãããããã¯ãã§ãã楽楽æç´°ã楽楽é»åä¿åã楽楽è«æ±ã§ã¯OpenAPI Specificationï¼ä»¥ä¸OASï¼ãæ¡ç¨ããéçºãè¡ã£ã¦ãã¾ãã
ä»ã§ããOASãæ´»ç¨ããéçºãè¡ããã¨ãã§ãã¦ãã¾ãããå°å
¥ã«ããã£ã¦ã¯æ§ã
ãªè¦å´ãããã¾ããã
ããã§ä»åã¯
- ä½æ OASãå°å ¥ããã®ã
- å°å ¥ã«ããã£ã¦ã©ã®ãããªèª²é¡ããã£ãã®ã
- å°å ¥ãã¦å®éã«å¹æã¯ãã£ãã®ã
ãç´¹ä»ãããã¨æãã¾ãã
対象èªè
- OASã®å°å ¥ãæ¤è¨ãã¦ãã人
- OASã®å°å ¥ã«å¨ãããè³åãå¾ãããªã人
- OASå°å ¥ã®å¹æãç¥ããã人
TL;DR
æéããªãæ¹ã«åãã¦çµè«ããæ¸ãã¾ãã
- å¾æ¥ã®APIä»æ§æ¸ã®é²è¦§ããã©ã¼ãã³ã¹ãã³ãã¥ãã±ã¼ã·ã§ã³ã®é½é½¬ã«ãã課é¡ã解決ãããã¦OASãå°å ¥ããã
- å°å ¥ã«ããã£ã¦ã¯ã¹ãã¼ã¯ãã«ãã¼ã®ä¸å®ããã¢ãªã³ã°ããã±ã¢ããããã¨ã§åæãå¾ãäºãã§ããã
- OASå°å ¥å¾ãéçºè ã®æºè¶³åº¦ã¯é«ããå·¥æ°åæ¸ã®å¹æããã£ããã¾ãAIã¨çµã¿åãããäºã§çç£æ§ãããã«åä¸ããå¯æ¬¡å¹æããã£ãã
OpenAPI Specificationã¨ã¯
OASã¨ã¯RESTful APIãå®ç¾©ããããã®æ¨æºä»æ§ã§ããããã¨ãã¨ã¯Swaggerã¨å¼ã°ãã¦ãã¾ããã*1
JSONã¾ãã¯YAMLå½¢å¼ã§è¨è¿°ãããAPIã®ã¨ã³ããã¤ã³ããHTTPã¡ã½ããããã©ã¡ã¼ã¿ãã¬ã¹ãã³ã¹ãã¨ã©ã¼ãã³ããªã³ã°ããªã©ãå®ç¾©ãããã¨ãã§ãã¾ãã
ä¾ãã°ä»¥ä¸ã¯YAMLå½¢å¼ã§è¨è¿°ãããOASã®ä¾ã§ãã
openapi: 3.0.2 servers: - url: /v3 info: description: |- This is a sample Pet Store Server based on the OpenAPI 3.0 specification. tags: - name: pet description: Everything about your Pets externalDocs: description: Find out more url: 'http://swagger.io' paths: /pet: post: tags: - pet summary: Add a new pet to the store description: Add a new pet to the store operationId: addPet responses: '200': description: Successful operation content: application/json: schema: $ref: '#/components/schemas/Pet' '405': description: Invalid input requestBody: description: Create a new pet in the store required: true content: application/json: schema: $ref: '#/components/schemas/Pet'
ãããSwagger UIã®ãããªãã¼ã«ãç¨ãã¦è¡¨ç¤ºããã¨ã以ä¸ã®ããã«ã·ã³ãã«ãªUIã§APIä»æ§ã確èªãããã¨ãã§ãã¾ãã
å ¬å¼ããµã³ãã«ãç¨æãã¦ããã®ã§ããã¡ããåç §ããã¨ããå ·ä½çãªä½¿ç¨ã¤ã¡ã¼ã¸ãæ´ããã¨æãã¾ãã
OASãå°å ¥ãããã¨ã®ä½ãå¬ããï¼
OASãå°å ¥ããåããããã¯ãéçºãã¼ã ã¯APIä»æ§æ¸ã«ã¤ãã¦ä»¥ä¸ã®èª²é¡ãæ±ãã¦ãã¾ããã
1. ãããã¯ããã¨ã«APIä»æ§æ¸ãè¨è¿°ãããã¼ã«ããã©ã¼ãããããã©ãã©ã§ã¹ã¤ããã³ã°ã³ã¹ããããã
ä¾ãã°ãããããã¯ãã§ã¯APIä»æ§æ¸ã®è¨è¿°ã«ã¹ãã¬ããã·ã¼ããä»ã®ãããã¯ãã§ã¯Google Docsãã¨ãã£ãããã«ãããããç°ãªããã¼ã«ãç¨ãã¦ãã¾ããã
è¨è¿°ã®ãã©ã¼ããããçµ±ä¸ããã¦ããããè¤æ°ã®ãããã¯ãã横æçã«éçºãããã¼ã ã«ã¨ã£ã¦ã¯è¨è¿°ã«ã¼ã«ã®å¦ç¿ã³ã¹ããç¡è¦ã§ããªããã®ã«ãªã£ã¦ãã¾ããã
2. è¨è¿°éãå¢ããã¨åä½ãéããªã
ããã¯Google Docsãæ¡ç¨ãã¦ãããããã¯ãã§é¡èã ã£ãã®ã§ãããAPIã®ã¨ã³ããã¤ã³ããå¢ããã«ã¤ãåä½ãã«ã¯ã«ã¯ãã¦ãã¾ããé²è¦§ããã«ãä¸è¦å´ã¨ããç¶æ³ãçã¾ãã¦ãã¾ããã
ããã«å¯¾ãã¦ã¯ããã¥ã¡ã³ããåå²ãããªã©ã®å¯¾çãåãã¾ãããè¤æ°ãã¡ã¤ã«ãåç
§ããªããéçºããã®ã¯è¯ãä½é¨ã¨ã¯è¨ãã¾ããã§ããã
APIä»æ§ã¯ä½åº¦ãç¹°ãè¿ãåç
§ããããã¥ã¡ã³ããªã®ã§ãé²è¦§æã®ããã©ã¼ãã³ã¹ã¯æ©æ¥ã«æ¹åããããã¤ã³ãã§ããã
3. APIä»æ§å¤æ´ã®ä¼éæ¼ãã®å¤çº
éçºããä¸ã§APIä»æ§ã®å¤æ´ã¯ã¤ããã®ã§ããï¼...ã§ãããï¼ï¼
大ããªå¤æ´ã¯æ»
å¤ã«ããã¾ãããã軽微ãªå¤æ´ãä¾ãã°ããããã£åãããé©åãªå½åã«å¤æ´ããããã¨ã©ã¼ãã¿ã¼ã³ã追å ãããã¨ãã£ããã¨ã¯ããã¾ãã
ãããã£ãå¤æ´ã®å
±ææ¼ããé »çºããçéãã¹ãã§åãã¦çºè¦ãã¦æ
ã¦ã¦ä¿®æ£ããã¨ãã£ãç¶æ³ãå¤ãããã¾ããã
ã³ã¼ãã®ä¿®æ£ã¯éçºå·¥ç¨ã®åæã§ããã»ã©ä½ã³ã¹ãã§æ¸ã¿ã¾ãã
ä¿®æ£ãèµ·ããé½åº¦ããã¼ã å
ã§å¤æ´ãå
±æããã¦ããç¶æ³ãä½ãæ¹æ³ã模索ãããæé©è§£ãåºãªãç¶æ
ã§ããã
ãããã®èª²é¡ãå ¨ã¦è§£æ±ºãããã¨èããã¨ããOASãé¸æè¢ã¨ãã¦æããã¾ããã
OASãç¨ããã¨
- ä»æ§ã®è¨è¿°ãã©ã¼ããããè¦å®ããã¦ããããããã¼ã å ã§å ±éè¨èªãç¨ãã横æçãªéçºãã§ãã
- Swagger UIã®ãããªãã¼ã«ãç¨ããã°å¤éã®APIä»æ§ãï¼ã¤ã®HTMLã§é«ãããã©ã¼ãã³ã¹ã§é²è¦§ã§ãã
- OASããI/Fã®åãèªåçæãããã¨ã§åã¬ãã«ã§ä¼éæ¼ããé²ããã¨ãã§ãã
ã¨ãã£ãã¡ãªããããããèªåãã¡ã®æ±ãã課é¡ãä¸æã«è§£æ±ºããã§ããã®ã§ã¯ï¼ã¨ããæå¾ ãããå°å ¥æ¤è¨ã«é²ããã¨ã«ãªãã¾ããã
å°å ¥ã¾ã§ã®èª²é¡
OASã使ãã°èª²é¡è§£æ±ºã§ããã¤ãã¿ã¼å°å
¥ãã¾ããï¼ãã¨ãããããã§éã£ããè¦å´ãã¾ããã
ç§ãã¡ã¯ãã¼ã ã§ä»äºããã¦ããã®ã§ãã¹ãã¼ã¯ãã«ãã¼ã¨åæå½¢æãããå¿
è¦ãããã¾ãã
ã¾ããå¼ç¤¾ãè¦å®ããã©ã¯ã¹ãªã¼ãã¼ã·ããããªã³ã·ãã«ã¨ããè¡åæéã«å
¨ä½æé©è¦ç¹ãæã¤ã¨ãããã®ãããã¾ãã
ãã®æéã«ç
§ããåãããOASå°å
¥ãå
¨ä½æé©ã«å¯ä¸ããã¨ãã仮説ããã¼ã ããç´å¾ãã¦ãããå¿
è¦ãããã¾ããã
ããã§åã
ã®ãããã¯ããæ
å½ããããã¯ã¨ã³ãã¨ã³ã¸ãã¢ã¨ä¼è°ãè¡ããOASã®æ¦è¦ã¨å°å
¥ãæ¤è¨ãã¦ãããã¨ãä¼ãã¾ããã
ä¸ã«ã¯ãã²å°å
¥ãããã¨ããã¨ã³ã¸ãã¢ãããã°ããããªãå¤ããã®ã«ã¯ä¸å®ããããã¨ãã£ãæè¦ãããã¾ããã
ããã«æ·±æã£ã¦ãå°å
¥ã«ããã£ã¦ã®çåç¹ãä¸å®ã«æã£ã¦ãããã¨ããã¢ãªã³ã°ããã¨ä»¥ä¸ã®æè¦ãæããã¾ããã
- OASå°å ¥ã®ã¡ãªããã¯ç解ã§ããããéçºããã¼ãã©ã®ããã«å¤ãããã¤ã¡ã¼ã¸ã§ããªã
- OASå°å ¥ã«ãã£ã¦èªåãè¡ãã¿ã¹ã¯ãã©ãå¤ããã®ãã¤ã¡ã¼ã¸ãã¥ãã
- OASã¯ãã©ã¼ããããè¦å®ããã¦ãããããå¦ç¿ã³ã¹ããæ°ã«ãªã
ããã§1, 2ã«é¢ãã¦ã¯OASå°å
¥ã®åå¾ã§å¤ãããã¨ãã¹ã©ã¤ããç¨ãã¦èª¬æãããã¨ã§ã¤ã¡ã¼ã¸ãæ´ãã§é ãã¾ããã
ã¾ã3ã«é¢ãã¦ã¯åå¼·ä¼ãéå¬ãããã¨ãã¹ãã¬ããã·ã¼ãã§æ¸ãããæ¢åã®APIãOASã«æ¸ãæããè¨å
¥ä¾ã示ããã¨ã§å¯¾å¿ãã¾ããã
ãã®ç²æãã£ã¦ãæçµçã«ã¯å°å
¥ãææ¡ãã3ã¤ã®ãããã¯ãå
¨ã¦ã«ããã¦ãåæãå¾ããã¨ãã§ãã¾ããã
åæå½¢æããã¾ããã£ããã¤ã³ãã¨ãã¦ã¯ç¸æãä¸å®ã«æã£ã¦ãããã¨ããã¢ãªã³ã°ãããã®ä¸å®ã¯ææã§ããããããã¯å¯¾å¿çããããã¨ãæ ¹æ ãæã£ã¦çãããã¨ãã§ããç¹ãã¨æã£ã¦ãã¾ãã
ã¨ãããã£ã¨ã¹ãã¼ãã«äºãéãã ãã®ããã«æ¸ãã¦ãã¾ãããæçµçã«åæå½¢æã«è³ãã¾ã§ã«ï¼ã¶æãããããã£ã¦ãã¾ãã
çç±ã¨ãã¦ã¯
- OASã®èª¿æ»ã«æéãããããããã¨
- OASã®ãã¡ãªããå ¨ã¦ã«å¯¾å¿çãè¬ãããã¨ãã¦ãã¾ã£ããã¨
ãæãããã¾ãã
1. OASã®èª¿æ»ã«æéãããããã
OASã®èª¿æ»ã«ãããå
¬å¼ããã¥ã¡ã³ããèªã¿è¾¼ãã§ããã®ã§ãããè¦ããã¹ãäºãè¨å¤§ã§OpenAPIãæ¸ããããã«ãªãã¾ã§ã«ã¯ããªãã®æéããããã®ã§ã¯ï¼ã¨èããããã«ãªã£ã¦ããã¾ããã
ããã³ãã¨ã³ãã¨ã³ã¸ãã¢ã ãã§å®çµãããªãã¾ã è¯ãã£ãã®ã§ããããããã¯ããã¯ã¨ã³ããã¼ã ã«ãOpenAPIãæ¸ãã¦ãããããã«ãããã£ãã®ã§ãå¦ç¿ã³ã¹ããçç±ã«å°å
¥ãæããã¦ãã¾ãä¸å®ãããã¾ããã
ããã§Stoplight StudioãApicurio Studioã¨ãã£ãGUIã§OpenAPIãè¨è¿°ã§ãããããªãµã¼ãã¹ã使ãã°å¦ç¿ã³ã¹ããæãããããã¨æãè³ããããã«ãã¡ãã®èª¿æ»ã«ãæéãå²ãã¦ãã¾ãã¾ããã
çµè«ããæ¸ãã¨ãç¾å¨ãããã®ãã¼ã«ã¯ä½¿ç¨ãã¦ãã¾ããã
OASãå°å
¥ããä»è¨ãããã¨ã¯ãããããOpenAPIã®å¦ç¿ã³ã¹ãã¯é«ãç¡ãã¨ãããã¨ã§ãã
OpenAPIã¯æ§ã
ãªAPIä»æ§è¨è¿°ã®ãã©ã¼ããããç¨æãã¦ãã¾ããã使ç¨ããã®ã¯ãã®ä¸ã®ä¸é¨ã§ãããå
¬å¼ãç¨æãã¦ããããã¥ã¡ã³ããçä¼¼ãã°ããã«æ¸ããããã«ãªãã¾ãã
ã¾ãå¼ç¤¾ã§ã¯Github Copilotãå
¨ç¤¾çã«å°å
¥ãã¦ãããCopilotã¯OASã®æ¨è«ãã¨ã¦ãå¾æãªã®ã§ãç¥èãæµ
ããã¡ã§ãå¼·åãªãµãã¼ããå¾ãäºãã§ãã¾ãã
ãããã£ã¦ãå¦ç¿ã³ã¹ããä¸ããããã«GUIãã¼ã«ãå°å
¥ããã¨ããã®ã¯ã³ã¹ãã¨å¹æãè¦åã£ã¦ããªãã¨å¤æãã¾ããã
å®éãããã¯ã¨ã³ãã«å¯¾ãã¦ä¸å®ããã¢ãªã³ã°ããã¨ãã«å¦ç¿ã³ã¹ãã®æ¸å¿µã¯æãã£ãã®ã§ãããå
è¿°ããããã«ã¡ãã£ã¨ããåå¼·ä¼ã®éå¬ã¨è¨å
¥ä¾ã®æ示ã§ç´å¾ãã¦ããã ãã¾ããã
ããã¥ã¡ã³ããèªãã å°è±¡ã ãã§å¦ç¿ã³ã¹ããé«ãã¨æ±ºãã¤ããããããããã¨èª¿æ»ã«æéã使ã£ãã®ã¯ãã£ãããªãã£ãã§ãã
2. OASã®ãã¡ãªããå ¨ã¦ã«å¯¾å¿çãè¬ãããã¨ãã¦ãã¾ã£ããã¨
OASã調æ»ãã¦ããä¸ã§ã¹ãã¬ããã·ã¼ããGoogle Docsã«ã¯ã§ãã¦OpenAPIã«ã¯ã§ããªããã¨ãããã¤ãããäºããããã¾ããã
ä¾ãã°ã¹ãã¬ããã·ã¼ããGoogle Docsã¯ããã¥ã¡ã³ãå士ããªã³ã¯ãããã¨ãã§ããããè¨è¿°ããå
容ã«å¯¾ããã³ã¡ã³ãçãã§ãã¾ãããOpenAPIã§ã¯ã§ãã¾ããã
ããã§ãOpenAPIã®description
ããã¾ãæ´»ç¨ããäºã§ã©ãã«ããã¡ãªãããå¸åã§ããªããã¨æç´¢ãã¦ãã¾ããã
çµå±ä»ã¯description
ã®è¨è¿°ã«ã¼ã«ãªã©ã¯ç¹ã«è¨ããã«éç¨ãã¦ãã¾ãã
ããã¥ã¡ã³ãå士ã®ãªã³ã¯ãªã©ã¯ã§ããã°ä¾¿å©ã§ãããå¿
é ãªæ©è½ã§ã¯ããã¾ããã
ãããç¡çããå®ç¾ãããã¨ãã¦éç¨ã³ã¹ããé«ããªã£ã¦ã¯æ¬æ«è»¢åã§ãã
æ°ããææ³ãå°å
¥ããäºã§ã¡ãªããã¨ãã¡ãªããã®ä¸¡æ¹ãçããã®ã¯å½ç¶ã§ãã
çãããã¡ãªãããæ¬æ¥è§£æ±ºãããã£ã課é¡ã®å¤§ããªé害ã¨ãªããã©ããã¨ããè¦ç¹ã§ã対å¿ã®è¦å¦ãæåããåæ¨é¸æãã¦ããã¹ãã§ããã
å®éãã®ãããªãã¡ãªãããåå¨ãããã¨ãä¼ãã¤ã¤OASå°å
¥ããã¼ã ã«ææ¡ãã¾ãããããããªãåãå
¥ãã¦ãããã¾ããã
æ¯ãè¿ãã¨ãï¼ã¤ã®å¤±æã®å ±éç¹ã¯æãè¾¼ã¿ã ã£ãã¨æãã¾ãã
- å¦ç¿ã³ã¹ããé«ãã®ã§ã¯ãªããï¼
- ãã¡ãªããã«å¯¾ããå®ç§ãªå¯¾å¿çãèãã¦ããã¹ãã§ã¯ãªããï¼
- ãããã«å¯¾å¦ããªããã°åæãããããªãã®ã§ã¯ãªããï¼
ãã®ãããªæãè¾¼ã¿ãæ ¹æ ã«ããææ決å®ããå¤ãã®æéãããã¦ãã¾ã£ãåå ã ã£ãããã«æãã¾ãã
次ã«åããããªèª²é¡ã«ç´é¢ããéã¯
- ããç¨åº¦èª¿æ»ãããå®éã«æãåããã¦ã·ãã¥ã¬ã¼ã·ã§ã³ãã¦ã¿ã
- æ©ã段éã§ãã¼ã ã«ç¸è«ããã¡ãªããã許容ã§ãããã®ãèªèãæ¦ãåããã¦ãã
ãã¨ã§æãè¾¼ã¿ã«ããç¡é§ãé¿ããããã«è¡åãã¦ããããã¨æãã¾ãã
å°å ¥ãã¦ï¼å¹´ãéçºç°å¢ã¯æ¹åãããã®ãï¼
OASãå°å ¥ãã¦ããç´ï¼å¹´çµã£ãç¾å¨ï¼2024/08ï¼ã¯ä»¥ä¸ã®æµãã§éçºãè¡ã£ã¦ãã¾ãã
- ããã³ãã¨ã³ãã¨ã³ã¸ãã¢ãOpenAPIã§APIè¦æ±ä»æ§ãè¨è¿°ããã«ãªã¯ã¨ã¹ããåºã
- ããã¯ã¨ã³ãã¨ã³ã¸ãã¢ãAPIè¦æ±ä»æ§ã®ã¬ãã¥ã¼ãè¡ããAPIä»æ§ã確å®ããã
- OpenAPIããåãã³ã¼ããèªåçæããï¼ããã³ãã¨ã³ãã¯openapi-generatorã使ç¨ï¼
- çæããåãããã±ã¼ã¸åããã©ã¤ãã¼ãã¬ã¸ã¹ããªã«publish
- npm installã§çæããåãã¤ã³ã¹ãã¼ã«ãI/Fãå®è£
ããã³ãã¨ã³ããããã¯ã¨ã³ããOpenAPIããèªåçæããåãã³ã¼ãã使ç¨ãã¦ããã®ã§ãçéãã¹ãã®ãã°ã大å¹
ã«æ¸å°ãå·¥æ°åæ¸ã¨ãªãã¾ããã
ã¾ãèªåçæããåã¨Github Copilotãçµã¿åããã¦ãã¢ãã¯ãã¼ã¿ãæ¨è«ã§ããã¨ããå¯æ¬¡å¹æã®æ©æµã«ããããã£ã¦ãã¾ãã
ãã¡ããå½åæãã¦ãã課é¡ã解決ããäºãã§ããéçºä½é¨ãæ¹åããã¾ããã
ããã«ä»åã¨ã³ã¸ãã¢ã«åãã¦OASãå°å
¥ãã¦å®éã«ã©ãæãã¦ããããã¢ã³ã±ã¼ããåã£ã¦ã¿ãã®ã§çµæãç´¹ä»ãããã¨æãã¾ãã
åçè
ã®å±æ§ï¼OASå°å
¥å¾ãOpenAPIãåç
§ãããã¯è¨è¿°ãããã¨ãããã¨ã³ã¸ãã¢
æå¹åçæ°ï¼9件
Q: OpenAPIã使ã£ãéçºã«ããã¦ãæ¹åãå¿
è¦ã ã¨æããç¹ã課é¡ãæãã¦ãã ããã
A: å®è£
éç¨ã®å¾åã§Swaggerã®ä¿®æ£ã«å°ããã¼ãã«ãæãã¦ãã¾ãã®ã§ãFE/BEå
±ã«ä¿®æ£ãå¿
è¦ãªãæ©æ¥ã«ç¸è«ããããä¿®æ£ããã³ãã¥ãã±ã¼ã·ã§ã³ãé°å²æ°ããäºãã§ä½ã£ã¦ããããã¨æã£ã¦ãã¾ãã
Q: ãã®ä»ãæè¦ãææ³ãªã©ããã°è¨è¿°ãã¦ãã ããã
A: å°å
¥å½æãOpenAPIãå°å
¥ãããçµç·¯ã課é¡ã¯ç解ã§ããããæ¢åã®éçºããã»ã¹ã®ã©ãã§ä½ãããã°ããã®ãã¯ããããããªãã£ããä»ã§ãæ£ããç解ã§ãã¦ãããå¾®å¦ã
å
¨ä½çã«é«ãæºè¶³åº¦ã§ãããå°ãªãã¨ãå®æ§çã«ã¯OASå°å
¥ã®å¹æã¯ãã£ãã¨è¨ãããã§ãã
ãã ãOASã®å°å
¥ããã»ã¹ã«ã¤ãã¦ã¯ä¸æºã¨åçããæ¹ã¯ããªããã®ã®ãä»ã®é
ç®ã¨æ¯ã¹ãã¨æºè¶³åº¦ãä½ãã§ãã
èªç±è¨è¿°ã®åçã«ãããéãããéçºããã»ã¹ã®ã©ãã§ä½ãããã°ããã®ãã¯ããããããªãã£ãããã¨æè¦ãé ãã¦ãããã¹ã©ã¤ãã«ãã説æã ãã§ã¯ä¼ããã¥ããã£ãé¨åããã£ãã¨èãããã¾ãã
å°ãããããã¿ã¤ãã®ãªãã¸ããªãä½ã£ã¦ãOASå°å
¥å¾ã®éçºããã»ã¹ã®ã·ãã¥ã¬ã¼ã·ã§ã³ãè¡ããªã©ããã°ããç解ãã¦è²°ããããã£ãã®ããªã¨æãã¾ãã
ãããã«
æ¬è¨äºã§ã¯OASå°å
¥ã«è³ã£ãçµç·¯ããå°å
¥ã¾ã§ã®èª²é¡ããã®å¾ã®å¹æã¾ã§ç´¹ä»ãã¾ããã
å°å
¥ã¾ã§ã«ã¯æ°ã
ã®é害ããããè³ããªãé¨åãå¤ãããã¾ããããªãã¨ãéçºããã¼ã«çµã¿è¾¼ãäºãã§ãã¾ããã
å
¨ä½ã¨ãã¦ã¯é«ãæºè¶³åº¦ã¨ãªããå½åã®èª²é¡ã解決ã§ããããå°å
¥ãã¦ããã£ãã¨æãã¦ãã¾ãã
ä»å¾ãããªãéçºããã»ã¹ã®æ¹åã«åãçµãéã«ã¯ãä»åã®åçç¹ãæ´»ãããããå¹ççã«ãããå¤ãã®ã¹ãã¼ã¯ãã«ãã¼ã«ç´å¾ãã¦ããã ããããé²ãã¦ããããã§ãã