如何解决我需要选择哪种内容类型才能在邮递员中发布包含二进制和 json 数据的表单数据?
如果我选择 content-type: application/json
,那么我将我的数据作为 raw(application/json)
传递到正文中,那么我的代码可以工作,这意味着它将我的数据发布到数据库中,但我的数据混合意味着二进制和 {{ 1}},如果我使用 form-data
,它会显示以下错误。如何解决此错误?
Illuminate\Database\QueryException:SQLSTATE[23000]:违反完整性约束:1048 列“名称”不能为空(SQL:插入到 content-type: multipart/form-data
(books
,name
,{ {1}}、image
、price
、title
、quantity
、ratings
、author
、description
、{{1 }}) 值 (?,?,1,2021-06-30 20:40:15,2021-06-30 20:40:15)) 在文件 C 中: \Users\VICKY\Desktop\8\laravel-bookstore\vendor\laravel\framework\src\Illuminate\Database\Connection.php 第 692 行
user_id
updated_at
created_at
BooksController.php
<?php
namespace App\Http\Controllers;
use Illuminate\Http\Request;
use App\Models\Books;
use App\Models\User;
use App\Http\Requests;
use Symfony\Component\HttpFoundation\Response;
use App\Http\Resources\Books as BooksResource;
use App\Http\Middleware\Authenticate;
class BooksController extends Controller
{
/**
* Display a listing of the resource.
*
* @return \Illuminate\Http\Response
*/
public function DisplayBooks()
{
$books=Books::all();
return User::find($books->user_id=auth()->id())->books;
}
/**
* Show the form for creating a new resource.
*
* @return \Illuminate\Http\Response
*/
public function AddBooks(Request $request)
{
$book=new Books();
$book->name=$request->input('name');
$book->image=$request->input('image');
$book->price=$request->input('price');
$book->title=$request->input('title');
$book->quantity=$request->input('quantity');
$book->ratings=$request->input('ratings');
$book->author=$request->input('author');
$book->description=$request->input('description');
$book->user_id = auth()->id();
$book->save();
return new BooksResource($book);
}
/**
* Display the specified resource.
*
* @param int $id
* @return \Illuminate\Http\Response
*/
public function ShowBook($id)
{
$book=Books::findOrFail($id);
if($book->user_id==auth()->id())
return new BooksResource($book);
else{
return response()->json([
'error' => 'UnAuthorized/invalid id'],401);
}
}
/**
* Update the specified resource in storage.
*
* @param \Illuminate\Http\Request $request
* @param int $id
* @return \Illuminate\Http\Response
*/
public function UpdateBook(Request $request,$id)
{
$book=Books::findOrFail($id);
if($book->user_id==auth()->id()){
$book->name=$request->input('name');
$book->image=$request->input('image');
$book->price=$request->input('price');
$book->title=$request->input('title');
$book->quantity=$request->input('quantity');
$book->ratings=$request->input('ratings');
$book->author=$request->input('author');
$book->description=$request->input('description');
$book->save();
return new BooksResource($book);
}
else
{
return response()->json([
'error' => ' Book is not available ith id'],404);
}
}
/**
* Remove the specified resource from storage.
*
* @param int $id
* @return \Illuminate\Http\Response
*/
public function DeleteBook($id)
{
$book=Books::findOrFail($id);
if($book->user_id==auth()->id()){
if($book->delete()){
return response()->json(['message'=>'Deleted'],201);
}
}
else{
return response()->json([
'error' => ' Method Not Allowed/invalid Book id'],405);
}
}
}
Books migration
版权声明:本文内容由互联网用户自发贡献,该文观点与技术仅代表作者本人。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如发现本站有涉嫌侵权/违法违规的内容, 请发送邮件至 dio@foxmail.com 举报,一经查实,本站将立刻删除。