API (ã¢ããªã±ãŒã·ã§ã³ ããã°ã©ãã³ã° ã€ã³ã¿ãŒãã§ã€ã¹) ã®ã³ã³ããã¹ãã§ã¯ãAPI å¿çã¯ãã¯ã©ã€ã¢ã³ãã API åŒã³åºããŸãã¯ãªã¯ãšã¹ããè¡ã£ãåŸã«ãµãŒããŒããåä¿¡ããããŒã¿ãæããŸããåºæ¬çã«ãAPI å¿çã«ã¯ãµãŒããŒã®ãã£ãŒãããã¯ãã¯ã©ã€ã¢ã³ãã®ã¯ãšãªã«å¯Ÿããåçãå«ãŸããããã«ãã£ãŠãœãããŠã§ã¢ ã¢ããªã±ãŒã·ã§ã³éã®éä¿¡ãšããŒã¿äº€æãå¯èœã«ãªããŸãã
ææ°ã® API ã¯ãREST (Representational State Transfer) ã GraphQL ãªã©ã®æšæºãããã³ã«ã«äŸåããŠãã¢ããªã±ãŒã·ã§ã³ãšãµãŒãã¹éã®éä¿¡ãä¿é²ããŸãããããã® API ã¯ã¢ããªã±ãŒã·ã§ã³ã®ãªãœãŒã¹ãæœè±¡åããHTTP ãªã¯ãšã¹ããªã©ã®çµ±äžã€ã³ã¿ãŒãã§ã€ã¹ãéããŠã¢ã¯ã»ã¹ã§ããããã«ããŸãããããã£ãŠãAPI å¿çã¯ãããŒã¿ã®ååŸããªãœãŒã¹ã®äœæãŸãã¯å€æŽãæ¢åã®ãªãœãŒã¹ã®åé€ãªã©ã®ããŸããŸãªã¿ã¹ã¯ã®å®è¡ã«ãšã£ãŠéèŠã§ãã
API ãæäœããå Žåãç¹ã«AppMasterã®ãããªno-codeç°å¢ã§äœæ¥ããå ŽåãWebãã¢ãã€ã«ãããã³ããã¯ãšã³ã ã¢ããªã±ãŒã·ã§ã³ã§è¿ãããããŒã¿ãå¹ççã«è§£æããŠæäœããã«ã¯ãAPI å¿çã®ããŸããŸãªåŽé¢ãçè§£ããããšãéèŠã§ããæ¬¡ã®ã»ã¯ã·ã§ã³ã§ã¯ãAPI å¿çãæ§æããããŸããŸãªã³ã³ããŒãã³ãã«ã€ããŠè©³ãã説æããŸãã
1. ã¹ããŒã¿ã¹ ã³ãŒã: ãããã® 3 æ¡ã®æ°å€ã³ãŒã㯠HTTP å¿çã®äžéšãšããŠè¿ãããAPI ãªã¯ãšã¹ãã®çµæãåæ ããŸãã HTTP ã¹ããŒã¿ã¹ ã³ãŒãã¯ãã³ãŒãã®æåã®æ¡ã«åºã¥ã㊠5 ã€ã®ã¯ã©ã¹ã«ã°ã«ãŒãåãããŸããæãäžè¬çãªã¹ããŒã¿ã¹ ã³ãŒãã¯æ¬¡ã®ãšããã§ãã
- 2xx (æå): ãªã¯ãšã¹ãã¯æ£åžžã«åä¿¡ãããçè§£ãããåãå ¥ããããŸãããäŸ: 200 OKã201 Createdã
- 3xx (ãªãã€ã¬ã¯ã): ãªã¯ãšã¹ããå®äºããã«ã¯ãããã«ã¢ã¯ã·ã§ã³ãå®è¡ããå¿ èŠããããŸã (äŸ: 301 Moved Permanentlyã302 Found)ã
- 4xx (ã¯ã©ã€ã¢ã³ã ãšã©ãŒ): ãªã¯ãšã¹ãã«äžæ£ãªæ§æãå«ãŸããŠããããå®è¡ã§ããŸãããäŸ: 400 Bad Requestã404 Not Foundã
- 5xx (ãµãŒã㌠ãšã©ãŒ): ãµãŒããŒã¯ãäžèŠæå¹ãªãªã¯ãšã¹ããå®è¡ã§ããŸããã§ãããäŸ: 500 å éšãµãŒã㌠ãšã©ãŒã502 äžæ£ãªã²ãŒããŠã§ã€ã
2. ããããŒ: API å¿çã® HTTP ããããŒã«ã¯ãå¿çã«é¢ããè¿œå æ å ±ãŸãã¯ã¡ã¿ããŒã¿ãå«ãŸããŠããŸããäžè¬çãªããããŒã«ã¯æ¬¡ã®ãã®ããããŸãã
- Content-Type : application/json ã application/xml ãªã©ãå¿çã®ã¡ãã£ã¢ ã¿ã€ããæå®ããŸãã
- Date : å¿çãçæãããæ¥æã瀺ããŸãã
- ãµãŒããŒ: å¿çãçæãããµãŒããŒã«é¢ããæ å ± (ãœãããŠã§ã¢ãããŒãžã§ã³ãªã©) ãæäŸããŸãã
- Cache-Control : ã¯ã©ã€ã¢ã³ããšãããã· ãµãŒããŒãåŸãã¹ããã£ãã·ã¥ ãã£ã¬ã¯ãã£ããæäŸããŸãã
- WWW-Authenticate : ãªã¯ãšã¹ãã§èªèšŒãå¿ èŠãªå Žåã«äœ¿çšãããå¿ èŠãªèªèšŒã¹ããŒã ã«é¢ããæ å ±ãæäŸãããŸãã
3. æ¬äœ: API å¿çæ¬äœã¯ããµãŒããŒããè¿ãããå®éã®ããŒã¿ã§æ§æãããé垞㯠Content-Type ããããŒã§æå®ãããåœ¢åŒ (JSON ã XML ãªã©) ã«ãªããŸããéåžžãå¿çæ¬æã®æ§é 㯠API ããã¥ã¡ã³ãã«ãã£ãŠäºåã«æ±ºå®ãããŠãããéçºè ã¯è¿ãããããŒã¿ã广çã«æäœããããã«ãã®æ§é ãçè§£ããŠããå¿ èŠããããŸããããšãã°ããŠãŒã¶ãŒæ å ±ãå«ãå¿çæ¬æã«ã¯ãå人ã®è©³çްãé£çµ¡å æ å ±ãäœæã®è©³çްã衚ããã¹ãããããªããžã§ã¯ããå«ãŸããå ŽåããããŸãã
{ "user": { "id": 12345, "name": "John Doe", "email": "[email protected]", "address": { "street": "123 Main St", "city": "Anytown", "postalCode": "12345" } } }
AppMasterã®ãããªno-codeãã©ãããã©ãŒã ã§ã¯ãAPI å¿çã¯ããžãã¹ ããã»ã¹ãããžãã¯ãããŒã¿ ã¢ãã«ã®åºç€ãå®çŸ©ãããããéåžžã«éèŠã§ãã AppMaster䜿çšãããšã顧客ã¯ã³ãŒãã 1 è¡ãèšè¿°ããããšãªããããŒã¿ ã¢ãã«ãèŠèŠçã«äœæããããžãã¹ ããã»ã¹ãèšèšããREST API ãš WSS ãšã³ããã€ã³ããå®çŸ©ã§ããŸãããã®çµæãã¢ããªã±ãŒã·ã§ã³ã®ããã©ãŒãã³ã¹ãšãŠãŒã¶ãŒ ãšã¯ã¹ããªãšã³ã¹ãæé©åããã«ã¯ãAPI å¿çãçè§£ããŠåŠçããããšãäžå¯æ¬ ã«ãªããŸãã
ããšãã°ãã¹ã ãŒãºãªãŠãŒã¶ãŒ ãšã¯ã¹ããªãšã³ã¹ã確ä¿ããã«ã¯ãããŸããŸãªã¹ããŒã¿ã¹ ã³ãŒããåŠçããããšãéèŠã«ãªããŸãããã©ã³ã¹ã®åããã¢ããªã±ãŒã·ã§ã³ã¯ãAPI å¿çã§åä¿¡ããã¹ããŒã¿ã¹ ã³ãŒãã«åºã¥ããŠããŠãŒã¶ãŒã«é©åãªãã£ãŒãããã¯ãæäŸããå¿ èŠããããŸããããšãã°ã404 Not Found ãšã©ãŒãçºçãããšãã¢ããªã±ãŒã·ã§ã³ã«ãšã©ãŒ ã¡ãã»ãŒãžã衚瀺ãããããŠãŒã¶ãŒãå¥ã®ããŒãžã«ãªãã€ã¬ã¯ããããããå¯èœæ§ããããŸãã
ããã«ãé©åã«èšèšãããã¢ããªã±ãŒã·ã§ã³ã«ã¯ãAPI å¿çããŒã¿ãåŠçãããããã¢ããªã±ãŒã·ã§ã³ã®ã³ã³ããŒãã³ããš UI ã«çµã¿èŸŒãã¡ã«ããºã ãå¿ èŠã§ãã AppMasterãªã©ã®ããŒã«ã¯ãèŠèŠçãªdrag-and-dropãã«ããŒãæäŸããéçºè ã API å¿çããŒã¿ã UI èŠçŽ ã«ãã€ã³ãããããšã容æã«ããæçµçã«ããã³ããšã³ã ããã»ã¹ãšããã¯ãšã³ã ããã»ã¹éã®ã·ãŒã ã¬ã¹ãªå¯Ÿè©±ãå®çŸããŸãã
ã€ãŸããAPI å¿çã¯ãææ°ã®ã¢ããªã±ãŒã·ã§ã³éçºã®ããŸããŸãªåŽé¢ã«ãããŠæ¥µããŠéèŠãªåœ¹å²ãæãããŸãã API å¿çã®è€éããçè§£ãããããAppMasterãªã©ã®no-codeãã©ãããã©ãŒã ã§å¹æçã«æŽ»çšããããšã§ãéçºè ã¯ãäŒæ¥ãšãã®ãšã³ããŠãŒã¶ãŒã®é²åããããŒãºã«å¿ããå¹ççã§ã¹ã±ãŒã©ãã«ãªã¢ããªã±ãŒã·ã§ã³ãæ§ç¯ããæºåãæŽããŸãã