API入门
我有一个表post_tag
,它是posts
表与tags
表的关系(许多)。
我的控制器代码(万事大吉):
$post = Post::create($data);
$post->tag()->attach($request->tags);
return $this->apiRespone($post , 'Added Post Successfuly', null ,200);
我的问题在这里:现在,我发送这样的标签数组!这是发送数组的最佳方法还是正确的方法(意味着当我将此api url
提供给移动开发人员时,他将知道如何处理此api url
吗?
My way is correct or not ?
答案 0 :(得分:1)
尽管您的解决方案可行,但是由于您正在构建端点,因此是一种更好的方法,最好将输入切换为接受JSON格式,而不是使用form-data
。使您的API端点接受以下有效负载:
{
"title": "First Post",
"desc": "Desc of Post",
"image": "image3.jpg",
"category_id": 1,
"tags": [
"one",
"two",
"three"
]
}
在Laravel中,您只需使用以下内容即可抓取tags
(或任何其他属性):
$tags = $request->input('tags');
对于图像,您可以允许它以base64编码图像接收。图像看起来像一串字符串,应由客户端(ios或android)进行转换,例如:
{
image:"/9j/4AAQSkZJRgABAQAAAQABAAD/7QB8UGhvdG9zaG9wIDMuMAA4QklNBAQAAAAAAF8cAigAWkZCTUQyMzAwMDk2OTAxMDAwMDgxNTIwMDAwNWY2MDAwMDA3NDZmMDAwMDE2YmEwMDAwNDAxYjAxMDBmMTM0MDEwMGY4YzIwMTAwZDkxNDAyMDA1ZDRhMDIwMAD/2wBDAAcHBwcHBwwHBwwRDAwMERcRERERFx4XFxcXFx4kHh4eHh4eJCQkJCQkJCQrKysrKysyMjIyMjg4O"
}
然后在PHP中,如果要将图像保存在磁盘上,只需使用base64_decode
。参见example here。