Laravel 响应:返回 xml
在 Laravel 中返回 XML 响应,你可以使用 response()
辅助函数和 Response
实例的 xml()
方法。以下是一个示例:
use Illuminate\Http\Request;
use Illuminate\Support\Facades\Route;
Route::get('/xml', function (Request $request) {
$xmlData = '<?xml version="1.0" encoding="UTF-8"?>
<root>
<item>Item 1</item>
<item>Item 2</item>
</root>';
return response($xmlData, 200)->header('Content-Type', 'application/xml');
});
这段代码定义了一个路由 /xml
,当访问这个路由时,会返回一个 XML 格式的响应。header('Content-Type', 'application/xml')
确保了响应的 Content-Type
头部被设置为 application/xml
,这样客户端就能理解它是 XML 内容。
如果你想要返回一个更加结构化的 XML,你可以使用 Laravel 的 Eloquent ORM 或者其他数据集合,并使用 toXml()
方法转换为 XML。例如:
use App\Models\User;
use Illuminate\Support\Facades\Response;
Route::get('/users/xml', function () {
$users = User::all();
$xml = $users->toXml();
return Response::make($xml, 200)->header('Content-Type', 'application/xml');
});
在这个例子中,我们获取了所有用户的数据,并将其转换为 XML 格式的响应。
评论已关闭