POST http://localhost:8000/api/projects/ 500(内部服务器错误)
Posted
技术标签:
【中文标题】POST http://localhost:8000/api/projects/ 500(内部服务器错误)【英文标题】:POST http://localhost:8000/api/projects/ 500 (Internal Server Error) 【发布时间】:2021-09-07 00:28:09 【问题描述】:我正在开发一个 rest api 项目,我正在使用 Laravel 和 Angular。恢复,我的项目就像一个项目经理。我有 4 个表:用户、项目、项目用户和状态。 所以当用户创建一个项目时,他只写名字就创建了项目。 creator_id 是当前用户 ID。对于后端,我使用 Laravel JWT 进行身份验证。这是控制器创建项目的代码:
项目模型:
class Project extends Model
protected $fillable = [
'name', 'creator_id', 'status_id'
];
protected $hidden = [
'created_at', 'updated_at'
];
protected $table = 'projects';
public function users()
return $this->belongsToMany(User::class)->select( 'email', 'date_of_birth', 'firstname', 'lastname');
public function status()
return $this->belongsTo(Status::class);
所以后端的路线有效,我尝试使用 Postman,一切都很好。但是我在前端创建项目时遇到了问题。它不起作用,我收到错误 500(内部服务器错误)。当我检查网页时,出于安全考虑,我收到了以下消息:
这是我的角码:
export class AddProjectComponent implements OnInit
project =
name: '',
;
submitted = false;
constructor(private projectService: ProjectService)
ngOnInit()
createProject(): void
const data =
name: this.project.name,
;
this.projectService.create(data)
.subscribe(
response =>
console.log(response);
this.submitted = true;
,
error =>
console.log(error);
);
newProject(): void
this.submitted = false;
this.project =
name: ''
;
project.service.ts
create(data): Observable<any>
return this.http.post(`http://localhost:8000/api/projects/`, data);
我不知道为什么它不起作用,因为我的用户连接良好,我在本地存储中有他的 auth_token。
有人可以帮助我吗? ^^
我认为我已经放置了最有用的文件,但如果它们丢失了,我可以将它们添加给你。
提前致谢
【问题讨论】:
你是否在模型中设置了时间戳为假? @JohnLobo 不,我没有 添加有问题的型号代码 尝试一次这个 $request->merge(['creator_id'=>Auth::id()]) 而不是添加 @JohnLobo 它适用于合并!太感谢了 ! ;) 【参考方案1】:问题在于$request-request->add(['creator_id'=>Auth::id()])
而不是使用request merge
。
$request->merge(['creator_id'=>Auth::id()])
【讨论】:
【参考方案2】:您的答案就在错误消息中。 creator_id 没有默认值,这意味着您必须将值传递给它才能在数据库中创建行
【讨论】:
以上是关于POST http://localhost:8000/api/projects/ 500(内部服务器错误)的主要内容,如果未能解决你的问题,请参考以下文章
小猪POST+乌鸦POST+js+商梦POST+小霖POST+骚华破解培训教程集合(资源共享吧首发)