質問をすることでしか得られない、回答やアドバイスがある。

15分調べてもわからないことは、質問しよう!

新規登録して質問してみよう
ただいま回答率
85.48%
Swagger

Swaggerは、REST APIを定義するための標準仕様に基づいて構築された一連のオープンソースツール。REST APIの設計や構築、文書化、使用に便利なツールを提供。Swagger Specを書くことでドキュメント生成まで自動的に行い、さらにドキュメントから実際のリクエストを投げられます。

JSON

JSON(JavaScript Object Notation)は軽量なデータ記述言語の1つである。構文はJavaScriptをベースとしていますが、JavaScriptに限定されたものではなく、様々なソフトウェアやプログラミング言語間におけるデータの受け渡しが行えるように設計されています。

Laravel

LaravelとはTaylor Otwellによって開発された、オープンソースなPHPフレームワークです。Laravelはシンプルで表現的なシンタックスを持ち合わせており、ウェブアプリケーション開発の手助けをしてくれます。

Amazon S3

Amazon S3 (Simple Storage Service)とはアマゾン・ウェブ・サービスが提供するオンラインストレージサービスです。

API

APIはApplication Programming Interfaceの略です。APIはプログラムにリクエストされるサービスがどのように動作するかを、デベロッパーが定めたものです。

Q&A

解決済

2回答

1796閲覧

APIモック(スタブ)を作成したいです...

99say

総合スコア3

Swagger

Swaggerは、REST APIを定義するための標準仕様に基づいて構築された一連のオープンソースツール。REST APIの設計や構築、文書化、使用に便利なツールを提供。Swagger Specを書くことでドキュメント生成まで自動的に行い、さらにドキュメントから実際のリクエストを投げられます。

JSON

JSON(JavaScript Object Notation)は軽量なデータ記述言語の1つである。構文はJavaScriptをベースとしていますが、JavaScriptに限定されたものではなく、様々なソフトウェアやプログラミング言語間におけるデータの受け渡しが行えるように設計されています。

Laravel

LaravelとはTaylor Otwellによって開発された、オープンソースなPHPフレームワークです。Laravelはシンプルで表現的なシンタックスを持ち合わせており、ウェブアプリケーション開発の手助けをしてくれます。

Amazon S3

Amazon S3 (Simple Storage Service)とはアマゾン・ウェブ・サービスが提供するオンラインストレージサービスです。

API

APIはApplication Programming Interfaceの略です。APIはプログラムにリクエストされるサービスがどのように動作するかを、デベロッパーが定めたものです。

0グッド

0クリップ

投稿2021/08/27 05:16

編集2021/08/27 05:39

前提・実現したいこと

「実現したいこと」
ファイルをS3からダウンロードするAPIを作成しています。
そのAPIのPOSTの正常な値を確認したいです。

「実施したこと」
・API仕様書をswaggerを用いて作成し、download.jsonファイルにレスポンスの値を記述
・api.phpにルートを記述
・FileDownloadController.phpファイルを作成
・Test API Testerを用いて、GET,POSTの値を確認

発生している問題・エラーメッセージ

GETを投げた際は、jsonファイルに記載したBODY内容が値として帰ってきましたが、
POSTでは404エラー(要求された URL は本サーバでは見つかりませんでした。)が返ってきます。
またBODY部分には{}という値が返ってきています。

//api.php Route::get('/download', 'Api\FileDownloadController@post'); Route::post('/download/{admin_page_id }/{page_flg}', 'Api\FileDownloadController@post');
//FileDownloadController.php class FileDownloadController extends ApiController { public function post(Request $request) { return 'テスト'; }

APIのモック(スタブ)の作成のために行っている上記の事が的外れな様な気も致します...
分からないことばかりのため、不明な部分が多い質問文かと思いますが、
回答いただけると幸いです。
よろしくお願いいたします。

気になる質問をクリップする

クリップした質問は、後からいつでもMYページで確認できます。

またクリップした質問に回答があった際、通知やメールを受け取ることができます。

バッドをするには、ログインかつ

こちらの条件を満たす必要があります。

mather

2021/08/27 06:10

具体的にどんなGET, POSTリクエストを送ったのかも記載しましょう。
kawa_kawawaka

2021/08/27 13:17

そもそもrouteがうまく登録できてないのでは?と思ったので、`php artisan route:list` の結果を記載して欲しいです^^
guest

回答2

0

自己解決

kawa_kawawakaさんのおっしゃっている通り、ルートの登録が上手くいっておりませんでした。
皆様ご回答頂きありがとうございました。

投稿2021/08/27 21:42

99say

総合スコア3

バッドをするには、ログインかつ

こちらの条件を満たす必要があります。

0

下記の半角スペースが入っていることくらいしか考えられる問題が見つからないですね。

php

1Route::post('/download/{admin_page_id }/{page_flg}', 'Api\FileDownloadController@post'); 2 ↑この半角スペース

swaggerのyamlにとりあえず下記のようなパラメータを用意して[Try it out] からの [Execute] したらどうなりますでしょうか?

yaml

1... 2paths: 3 /api/download/{admin_page_id}/{page_flg}: 4 post: 5 operationId: 'download:post' 6 parameters: 7 - 8 name: admin_page_id 9 in: path 10 required: true 11 schema: 12 type: integer 13 example: 1 14 - 15 name: page_flg 16 in: path 17 required: true 18 schema: 19 type: integer 20 example: 1 21...

投稿2021/08/27 18:41

mj29

総合スコア136

バッドをするには、ログインかつ

こちらの条件を満たす必要があります。

あなたの回答

tips

太字

斜体

打ち消し線

見出し

引用テキストの挿入

コードの挿入

リンクの挿入

リストの挿入

番号リストの挿入

表の挿入

水平線の挿入

プレビュー

15分調べてもわからないことは
teratailで質問しよう!

ただいまの回答率
85.48%

質問をまとめることで
思考を整理して素早く解決

テンプレート機能で
簡単に質問をまとめる

質問する

関連した質問