如何在 Laravel Http 客户端中发送 xml 数据作为请求内容

Laravel

如果你还不了解 Laravel Http 客户端,可以查看 官方文档.

 POSTPUT 或 PATCH  请求传递数组参数(转换成JSON)的办法如下:

$response = Http::post('http://test.com/users', [
    'name' => 'Steve',
    'role' => 'Network Administrator',
]);

如果祖传项目中的 API 仍然需要接收 XML 格式的数据怎么办?

您可以这样做:

    $response = Http::withHeaders([
        "Content-Type" => "text/xml;charset=utf-8"
    ])->send("POST", "http://some-url.com", [
        "body" => '<?xml version="1.0" encoding="utf-8"?>
                    <soap:Envelope
                    xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance"
                    xmlns:xsd="http://www.w3.org/2001/XMLSchema"
                    xmlns:soap="http://schemas.xmlsoap.org/soap/envelope/">
                        <soap:Body>
                            <SaveData xmlns="http://tempuri.org/">
                                <pParam>
                                    Value
                                </pParam>
                            </SaveData>
                        </soap:Body>
                    </soap:Envelope>'
    ]);

如果您有更好的实现方式,请告诉我 :)

本文中的所有译文仅用于学习和交流目的,转载请务必注明文章译者、出处、和本文链接
我们的翻译工作遵照 CC 协议,如果我们的工作有侵犯到您的权益,请及时联系我们。

原文地址:https://dev.to/zubairmohsin33/passing-re...

译文地址:https://learnku.com/laravel/t/45706

本文为协同翻译文章,如您发现瑕疵请点击「改进」按钮提交优化建议
《L02 从零构建论坛系统》
以构建论坛项目 LaraBBS 为线索,展开对 Laravel 框架的全面学习。应用程序架构思路贴近 Laravel 框架的设计哲学。
《G01 Go 实战入门》
从零开始带你一步步开发一个 Go 博客项目,让你在最短的时间内学会使用 Go 进行编码。项目结构很大程度上参考了 Laravel。
讨论数量: 3

祖传的soap不香?

3年前 评论
    public function request()
    {
        $xml = $this->setXML();
        $url = $this->getUrl();

        $response = Http::withBody($xml, 'text/xml; charset=UTF-8')
            ->post($url);

        return $this->handleResponse($response);
    }
1年前 评论

讨论应以学习和精进为目的。请勿发布不友善或者负能量的内容,与人为善,比聪明更重要!