gpt4 book ai didi

php - Laravel ApiException 返回 HTML 响应而不是 JSON

转载 作者:行者123 更新时间:2023-12-03 23:37:15 25 4
gpt4 key购买 nike

我试图弄清楚为什么我的 ApiException 仍然返回文本/html 响应而不是 ApiException 渲染方法中表示的 json 响应。它给了我正确的错误消息,但它没有将它呈现为 json。

/**
* Get the checklist (depending on type - send from Vue model)
*/
public function fetchChecklist(Request $request)
{
$id = $request->input('projectId');
$type = $request->input('type');

if (empty($id)) {
throw new ApiException('Project was not provided.');
}

if (! $project = RoofingProject::find($id)) {
throw new ApiException('Project not found.');
}

if (empty($type)) {
throw new ApiException('No checklist type was provided.');
}

switch ($request->input('type')) {
case 'permitting':
$items = $project->permittingChecklist;
break;

case 'permit':
$items = $project->permitReqChecklist;
break;

default:
throw new ApiException('Checklist not found.');
break;
}

return [
'status' => 'success',
'message' => '',
'items' => $items
];
}

App\Exceptions\ApiException.php
<?php

namespace App\Exceptions;

class ApiException extends \Exception
{
public function render($request)
{
return response()->json(['status' => 'error', 'error' => $this->message]);
}
}

最佳答案

在您对 API 的请求中,您可以尝试将以下内容添加到您的 head/curl 调用中以指定数据类型:

"Accept: application/json"

laravel 应用程序正在寻找请求是否需要 json。

关于php - Laravel ApiException 返回 HTML 响应而不是 JSON,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/49519455/

25 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com