背景 今年の1月に弊社のネイティブアプリ向け API を刷新し、API v2 として導入した。機能開発やリニューアルなどのタイミングで徐々に移行して行っていて、振り返ると体感で生産性が2倍くらいになっていたように思う。やったのは基本的に少しきちんと RESTful API のプロトコルを定義し、それに則る形で API を書くためのレールを敷くということだった。 RESTful API は割とこなれたテーマかなと思いつつ、意外と Rails で RESTful API を導入しようとすると、そんなにメジャーな方法があるわけではなく、一個一個自分で考えてレールを敷く必要があった。 もちろん、それができるだけの融通性があるのが Rails の良いところではあるのだけど、逆に言うとあんまり全体のデザインを考えずに作って微妙なものが出来るということもまた同時に起こりうる(今回移行するきっかけになった
![Rails に RESTful API のレールを敷く - Qiita](https://cdn-ak-scissors.b.st-hatena.com/image/square/af3edfbe69478bb8dc01cf06fa02b3f86ed9e0d9/height=288;version=1;width=512/https%3A%2F%2Fqiita-user-contents.imgix.net%2Fhttps%253A%252F%252Fcdn.qiita.com%252Fassets%252Fpublic%252Farticle-ogp-background-9f5428127621718a910c8b63951390ad.png%3Fixlib%3Drb-4.0.0%26w%3D1200%26mark64%3DaHR0cHM6Ly9xaWl0YS11c2VyLWNvbnRlbnRzLmltZ2l4Lm5ldC9-dGV4dD9peGxpYj1yYi00LjAuMCZ3PTkxNiZoPTMzNiZ0eHQ9UmFpbHMlMjAlRTMlODElQUIlMjBSRVNUZnVsJTIwQVBJJTIwJUUzJTgxJUFFJUUzJTgzJUFDJUUzJTgzJUJDJUUzJTgzJUFCJUUzJTgyJTkyJUU2JTk1JUI3JUUzJTgxJThGJnR4dC1jb2xvcj0lMjMyMTIxMjEmdHh0LWZvbnQ9SGlyYWdpbm8lMjBTYW5zJTIwVzYmdHh0LXNpemU9NTYmdHh0LWNsaXA9ZWxsaXBzaXMmdHh0LWFsaWduPWxlZnQlMkN0b3Amcz1kNTUyYjU3MmI3Zjk5MTFkMzczMWFjMTUxNzJiODJhOQ%26mark-x%3D142%26mark-y%3D112%26blend64%3DaHR0cHM6Ly9xaWl0YS11c2VyLWNvbnRlbnRzLmltZ2l4Lm5ldC9-dGV4dD9peGxpYj1yYi00LjAuMCZ3PTYxNiZ0eHQ9JTQwQWx0ZWNoJnR4dC1jb2xvcj0lMjMyMTIxMjEmdHh0LWZvbnQ9SGlyYWdpbm8lMjBTYW5zJTIwVzYmdHh0LXNpemU9MzYmdHh0LWFsaWduPWxlZnQlMkN0b3Amcz0yNjBhNWYxNGIzN2EzNTU1NWM2OTlhZmYyOTQ2NTQwZQ%26blend-x%3D142%26blend-y%3D491%26blend-mode%3Dnormal%26s%3D7db627df93b3d50d1b9d4476f2f6850e)