api #1 実装とテスト