[英]Laravel 5 API - Handle arrays
我正在使用Laravel 5,並實現了一個可正常使用的Restful API。 我試圖允許通過傳遞這樣的數組來創建帖子...
post
title
excerpt
content
image
post
title
excerpt
content
image
該API當前非常適合發布單個帖子,但是我該如何處理帖子數組呢?
有誰能看到我的例子嗎?
您是否嘗試在體內發送JSON? 這是帶有示例的鏈接
請求正文可能如下所示:
{ "parameters":[ { "value":{ "array":{ "elements":[ { "string":{ "value":"value1" } }, { "string":{ "value":"value2" } }, { "string":{ "value":"value3" } } ] } }, "type":"Array/string", "name":"arrayvariable" } ] }
每當您從數據庫中獲取數組並將其保存到數據庫中時,都會轉換該數組。
這是使用laravel cast 鏈接的示例
使用屬性轉換。 打開您的IdModel模型並添加以下內容:
protected $casts = [ 'id' => 'array' ];
如果使用的是資源控制器,則應該有一個帶方法store()
的PostsController
。 我假設您的請求有效載荷是這樣的JSON:
{"posts": [{"title":"foo"},{"title":"bar"}, …]}
因此,您需要json_decode
輸入。 然后將其傳遞到您的數據庫:
public function store()
{
$posts = json_decode($request->input('posts', ''));
if (is_array($posts)) {
DB::table('posts')->insert($posts);
}
}
可能有一些插件或中間件或任何可以自動解碼JSON有效負載的東西。 但是除此之外,做您所要求的沒有什么特別的。
如果您不想使用store()
方法(因為它已經存儲了一個Post或其他東西),則可以為您的多個Post添加一條路由。
聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.