If youâve been a backend or full-stack developer for any length of time, you know the ritual. A new feature requires a new API endpoint, and the boilerplate ceremony begins: define the route, write the controller, validate input, handle errors, and update the docs. This process isnât just tedious â itâs fragile. Every extra definition or cast is a chance for a silent bug: mismatched types, stale d
ããªãã«ã¨ã£ã¦éè¦ãªãããã¯ãååã®ææ°æ å ±ãå ¥æãã¾ãããææ°ã®æ´å¯ã¨ãã¬ã³ãã«é¢ããææ°æ å ±ãå³åº§ã«åãåãã¾ãããã ç¶ç¶çãªå¦ç¿ã®ããã«ãç¡æã®ãªã½ã¼ã¹ã«æè»½ã«ã¢ã¯ã»ã¹ãã¾ãããããããã¯ããã©ã³ã¹ã¯ãªããä»ãåç»ãããã³ãã¬ã¼ãã³ã°ææã è¨äºãä¿åãã¦ããã¤ã§ãèªããã¨ãã§ãã¾ãè¨äºãããã¯ãã¼ã¯ãã¦ãæºåãã§ããããã¤ã§ãèªãã¾ãã
åãéçºãã¦ããWebãã¬ã¼ã ã¯ã¼ã¯Honoã¯ãåãJavaScriptã®ãã¬ã¼ã ã¯ã¼ã¯ãExpressã¨æ¯ã¹ããããã¨ãå¤ãã§ããã©ã¡ããããããã¨ã¯ã»ã¼åãã§ãããHonoã®ã¢ããã³ãã¼ã¸ã¯ãã¡ã¼ã¹ãã¯ã©ã¹ã§TypeScriptããµãã¼ããã¦ãããã¨ã§ããç¹ã«ãRPCãæ©è½ã¯ä»ã®ãã¬ã¼ã ã¯ã¼ã¯ã«ã¯ãªãã£ããTypeScriptã®åã§ãµã¼ãã¼ã¨ã¯ã©ã¤ã¢ã³ãã®ä»æ§ãå ±æããããã¨ãå¯è½ã«ãã¦ãã¾ããä»åã¯ãã®Honoã®RPCã«ã¤ãã¦ç´¹ä»ãã¾ãã ã©ããªãã®ã ã¾ããã©ããªãã®ããç®æ¡æ¸ãã§å ±æãã¾ãã Web APIã®ä»æ§ãç¹ã«ã¤ã³ãããã»ã¢ã¦ããããããµã¼ãã¼ã¨ã¯ã©ã¤ã¢ã³ãéã§å ±æããããã®ãã® OpenAPIãgRPCã使ã£ã¦ããããã£ããã¨ãå¶ãããããããªã ãµã¼ãã¼ã¨ã¯ã©ã¤ã¢ã³ããã©ã¡ããTypeScriptã§æ¸ããã¨ã大åæã§ãã å種ã®ãã®ã«tRPCãããããHonoã®å ´åã
ã¯ãã㫠対象èªè TL;DR OpenAPI Specificationã¨ã¯ OASãå°å ¥ãããã¨ã®ä½ãå¬ããï¼ 1. ãããã¯ããã¨ã«API仿§æ¸ãè¨è¿°ãããã¼ã«ããã©ã¼ãããããã©ãã©ã§ã¹ã¤ããã³ã°ã³ã¹ããããã 2. è¨è¿°éãå¢ããã¨åä½ãéããªã 3. API仿§å¤æ´ã®ä¼éæ¼ãã®å¤çº å°å ¥ã¾ã§ã®èª²é¡ 1. OASã®èª¿æ»ã«æéãããããã 2. OASã®ãã¡ãªããå ¨ã¦ã«å¯¾å¿çãè¬ãããã¨ãã¦ãã¾ã£ãã㨠å°å ¥ãã¦ï¼å¹´ãéçºç°å¢ã¯æ¹åãããã®ãï¼ ãããã« ã¯ããã« ã©ã¯ã¹ããã³ãã¨ã³ãéçº2èª²ã®æè¤ã§ãã ã©ã¯ã¹ã®éçºãããããã¯ãã§ããæ¥½æ¥½æç´°ã楽楽é»åä¿åãæ¥½æ¥½è«æ±ã§ã¯OpenAPI Specificationï¼ä»¥ä¸OASï¼ãæ¡ç¨ããéçºãè¡ã£ã¦ãã¾ãã ä»ã§ããOASãæ´»ç¨ããéçºãè¡ããã¨ãã§ãã¦ãã¾ãããå°å ¥ã«ããã£ã¦ã¯æ§ã ãªè¦å´ãããã¾ããã ããã§ä»åã¯ ä½æ OASã
While human-readable JSON over HTTP remains a popular choice for service communication due to its simplicity and familiarity, in Microservices architectures gRPC is emerging as a popular choice for communication. It is mainly because in the case of internal services, the structured formats, such as Protocol Buffers, are a better choice than JSON for encoding data. So we wanted to experiment with p
Reactã«ããã¹ãã¼ã管çã§ã¯ãããç¶æ ãå¤åãããä»éãã¦ä»ã®ç¶æ ãå¤åãã¦ã»ããå ´åãããã¾ããä¾ãã°ã次ã®ãããªå ´åãèãã¾ãã ãã§ãã¯ããã¯ã¹ã1ã¤ããã ãã§ãã¯ããã¯ã¹ã®åæç¶æ ã¯ãHTTP APIããåå¾ãããã¼ã¿ã«ãã£ã¦æ±ºã¾ãã ã¦ã¼ã¶ã¼ã¯ãã§ãã¯ããã¯ã¹ãæä½ã§ããã APIãããã¼ã¿ãååå¾ããå ´åãããããã®å ´åã¯ãã§ãã¯ããã¯ã¹ã®ç¶æ ãååå¾ããããã¼ã¿ã«å¾ã£ã¦ãªã»ãããããã çããã¯ããã®ãããªè¦ä»¶ãã©ã®ããã«å®è£ ããã§ããããã ãããã¡ãªå®è£ ã¾ãããããã¡ãªå®è£ ãè¦ã¦ã¿ã¾ãããã const apiData = useApiData(); const [isChecked, setIsChecked] = useState(false); useEffect(() => { setIsChecked(apiData.isChecked); }, [ap
OpenAPI TypeScriptConvert OpenAPI 3.0/3.1Â schemas to TypeScript types and create type-safe fetching.
GraphQL is an incredible piece of technology that has captured a lot of mindshare since I first started slinging it in production in 2018. You wonât have to look far back on this (rather inactive) blog to see I have previously championed this technology. After building many a React SPA on top of a hodge podge of untyped JSON REST APIs, I found GraphQL a breath of fresh air. I was truly a GraphQL h
Introducing TypeSpec: A New Language for API-Centric Development Over last few years, weâve been hard at work on https://typespec.io/, a modern API definition language. This language is designed to meet the evolving needs of API developers, architects, and managers in an environment where the delivery of consistently high-quality APIs and related experiences is becoming increasingly complex and cr
Design, document, and build APIs faster.Built with the modern API workflow in mind, Stoplight brings an intuitive interface and thoughtful features to power your complete API design lifecycle. Architect the API digital connections that propel your business forward.Modern customers demand intuitive and frictionless digital experiences that you can only achieve with APIs. Stoplight is the tool with
ã¯ããã« ããã«ã¡ã¯ãretail HUBã§ Software Engineer ããã¦ããã»ãã ã§ãã ä»åã¯ç§ãç¾å¨çæãã¦ããäºæ¥è²æ¸¡ãããã¢ããªã社å ã§æç¶çãªãããã¯ãéçºãè¡ããç¶æ ã«ãããªãã¬ã¤ã¹ããã¸ã§ã¯ããã©ã®ããã«è¡ã£ã¦ãããç´¹ä»ãããã¨æãã¾ãã ãã®è¨äºã§ã¯ãªãã¬ã¤ã¹ãè¡ãã«ããã£ã¦ã©ã®ãããªãã¨ã課é¡ã«æãã¦ãã®èª²é¡ã«å¯¾ãã¦ã©ã®ãããªè§£æ±ºçãã¨ã£ãã主ã«ãµã¼ãã¼ã®å®è£ ã«ã¤ãã¦èª¬æãã¦ãã¾ãã ãããã¹ã¼ãã¼ã¢ããªã¨ã¯ ç¾å¨å¼ç¤¾ã§ã¯ãããã¹ã¼ãã¼ã¢ããªã¨ã㦠Web ã¢ããªã¨ã¹ããã¢ããªã®äºã¤ã®ã·ã¹ãã ãæä¾ãã¦ãã¾ãã Web ã¢ããªã¯è²©ä¿ã³ã³ãã³ãã®è¨å®ã売ãä¸ãã®ç®¡çã»éè¨ãè¡ããã¨ãå¯è½ãªç®¡çã·ã¹ãã ã¨åãåãæ¹æ³ã«å¿ããä¾¡æ ¼å¤æ´ãéæå¤æ´ã«ã対å¿ããæ¶è²»è ã®æè»ãªè²·ãç©ãå®ç¾ããã客æ§åãã¢ããªã 17 ã®å°å£²ãæ§ã«ãã¹ããã¢ããªã§ã¯ Web ã¢ããªã®ã客
ã¯ããã« COUNTERWORKSããã¯ã¨ã³ãã¨ã³ã¸ãã¢ã®ä¼è¤ã§ãã ãã®è¨äºã§ã¯APIããã¥ã¡ã³ãåå²ã®ç¥è¦ãç´¹ä»ãã¾ãã å¼ç¤¾ã§ã¯ OpenAPI ã使ç¨ããã¹ãã¼ãé§åéçºãæ¡ç¨ãã¦ãã¾ãã 1ãã¡ã¤ã«ã§ç®¡çãã¦ããã¨ããã25000è¡ãè¶ ããè¡æ°ã¨ãªã管çã³ã¹ããé«ããªã£ã¦ãã¾ããã ããã§åå²ä½æ¥ã宿½ããã®ã§ãããã©ã®ãããªæ¹éã§ã©ã対å¿ããããç´¹ä»ãã¾ãã 1ãã¡ã¤ã«ã§éç¨ãããã¡ãªãã ããããã©ããªãã¡ãªãããçºçãã¦ããã®ããè¨è¼ãã¾ãã å ¨ä½ã®æ§é ãææ¡ãã¥ãããæ°è¦åç»è ã¸ã®èªç¥è² è·ãé«ã è¡æ°ãå¤ããããããRubyMine ãªã© IDE ãã¨ãã£ã¿ã®ããã©ã¼ãã³ã¹ãè½ã¡ã 1ãã¡ã¤ã«ã®å é¨ã§è¤æ°ã®ç®æãåç §ãã¦ããããããããCommand fã§è©²å½é¨åãæ¢ãå¿ è¦ãããããã®ãããè¦ã¦ããã³ã¼ãã®ç®æãé »ç¹ã«é£ãã§æ å ±ã追ãã¥ãã å®éã«ãã£ãã㨠æ¹é ãã¼ã
GithHubã¯ãä»å¾ã¯API仿§ãè¨è¿°ããæ¥çæ¨æºã§ããOpenAPIã«å¯¾å¿ããçæãã¼ã«ã§çæããAPIã¯ã©ã¤ã¢ã³ããSDKã¨ãã¦æä¾ãããã¨ãæããã«ãã¾ããã ç¾å¨ã¾ã§å社ã¯ãOctokitãã¨å¼ã°ããSDKãæä¾ãã¦ãã¾ããããã¯GitHubã®éçºè ããå¤é¨ã®ã¢ããªã±ã¼ã·ã§ã³éçºè ã®ããã«ããã¾ãã¾ãªè¨èªã§GitHub APIãå¼ã³åºããããããã«éçºããã©ã¤ãã©ãªã¨è¨ãã¾ãã ããã«å¯¾ãã¦ä»å¾ã¯ãGitHubã®APIãã©ã®ãããªä»æ§ã§ããããæ¥çæ¨æºã§ããOpenAPIã«å¾ã£ã¦è¨è¿°ããããã¥ã¡ã³ããåºã«ãããããAPIã¯ã©ã¤ã¢ã³ããçæãããã¼ã«ãMicrosoft Kiotaãã«ãã£ã¦çæããAPIã¯ã©ã¤ã¢ã³ããSDKã¨ãã¦æä¾ãããã¨ã«ãªãã¨èª¬æããã¦ãã¾ãã GitHubã¯ãããå社ã«ã¨ã£ã¦å¤§ããªè»¢æç¹ã ã¨ãããã°ãOur move to generated SDKsãï¼
REST is an acronym for REpresentational State Transfer and an architectural style for distributed hypermedia systems. Roy Fielding first presented it in 2000 in his famous dissertation. Since then, it has become one of the most widely used approaches for building web-based APIs (Application Programming Interfaces). REST is not a protocol or a ⦠REST is an acronym for REpresentational State Transfe
RESTful Web API ã®å®è£ ã¯ãRepresentational State Transfer (REST) ã¢ã¼ããã¯ãã£ã®ååã使ç¨ãã¦ãã¯ã©ã¤ã¢ã³ãã¨ãµã¼ãã¹éã®ã¹ãã¼ãã¬ã¹ã§ççµåã®ã¤ã³ã¿ã¼ãã§ã¤ã¹ãå®ç¾ãã Web API ã§ãã RESTful ã§ãã Web API ã¯ããªã½ã¼ã¹ã«å¯¾ãã¦æä½ãå®è¡ãããã¤ãã¼ã¡ãã£ã¢ ãªã³ã¯ã¨ HTTP æä½ç¶æ ã³ã¼ããå«ããªã½ã¼ã¹ã®è¡¨ç¾ãè¿ãæ¨æº HTTP ãããã³ã«ããµãã¼ããã¦ãã¾ãã RESTful Web API ã¯ã次ã®ååã«å¾ãå¿ è¦ãããã¾ãã ãã©ãããã©ã¼ã ã«ä¾åãã¦ãã¾ãããã¤ã¾ããã¯ã©ã¤ã¢ã³ãã¯å é¨å®è£ ã«é¢ä¿ãªã Web API ãå¼ã³åºããã¨ãã§ãã¾ãã ãã©ãããã©ã¼ã ã®ç¬ç«æ§ãå®ç¾ããããã«ãWeb API ã¯æ¨æºãããã³ã«ã¨ã㦠HTTP ã使ç¨ããæç¢ºãªããã¥ã¡ã³ããæä¾ããJSON ã XML ãªã©
ãã©ã«ã·ã¢ã§ã¯OpenAPIã§APIå®ç¾©ãæ¸ãã¦ãããAPIãå®è£ ããã®ãä¸è¬çã«ãªã£ã¦ãã¾ãããAPIã®å®è£ ã«ã¤ãã¦ã¯TypeScriptã¨expressãå©ç¨ãããã¨ãå¢ãã¦ãã¦ããç¶æ³ã§ããä»åã¯expressã¨OpenAPIãããå¼·åºã«çµã³ã¤ããããã®ã¢ã¸ã¥ã¼ã«ã¨ãã¦express-openapiãè¦ã¤ããã®ã§è©¦ãã¦ã¿ã¾ããã
ã©ã³ãã³ã°
ã¡ã³ããã³ã¹
ã©ã³ãã³ã°
ãªãªã¼ã¹ãé害æ å ±ãªã©ã®ãµã¼ãã¹ã®ãç¥ãã
ææ°ã®äººæ°ã¨ã³ããªã¼ã®é ä¿¡
å¦çãå®è¡ä¸ã§ã
j次ã®ããã¯ãã¼ã¯
kåã®ããã¯ãã¼ã¯
lãã¨ã§èªã
eã³ã¡ã³ãä¸è¦§ãéã
oãã¼ã¸ãéã
{{#tags}}- {{label}}
{{/tags}}