我正在创建一个简单的API,它必须返回XML响应,我安装了bmatovu/laravel包。问题是,我需要使用根标记作为<api/><api>进行响应,但它会自动设置为<document></document>。我怎么才能改变这一切?
我的代码:
$time = time();
$data = [
'api' => [
'method' => 'call',
'success' => '1',
'time' => $time,
]
];
return response()->xml($data);响应:
<?xml version="1.0" encoding="UTF-8"?>
<document>
<api>
<method>call</method>
<success>1</success>
<time>1595760619</time>
</api>
</document>发布于 2020-07-26 12:42:36
好的找到了。
必须更改随包安装的XMLresponse.php文件中的这些参数。
public $options = [
'root' => 'document',
'encoding' => 'UTF-8',
'version' => '1.0',
'slug' => true,
];发布于 2022-06-07 03:54:04
你不需要编辑供应商的文件。这应该就够了
Route::get('/users/{user}', function (Request $request, int $userId) {
$user = User::findOrFail($userId);
return response()->xml($user, 200, [], ['root' => 'user']);
});输出
<?xml version="1.0" encoding="UTF-8"?>
<user>
<id>1</id>
<name>jdoe</name>
<email>jdoe@example.com</email>
</user>https://stackoverflow.com/questions/63099207
复制相似问题