Falcon中的msgpack.unpackb

我尝试在readthedocs中为猎鹰教程学习和部署示例代码。 pytest tests测试应用程序时,在this section中的用户获得1个失败的标题:

  

msgpack.exceptions.ExtraData:unpack(b)收到了额外的数据。

如何解决这个问题?

pytest输出:

tests/test_app.py F                                                      [100%]

=================================== FAILURES ===================================
_______________________________ test_list_images _______________________________

client = <falcon.testing.client.TestClient object at 0x7f2cceed5490>

    def test_list_images(client):
        doc = {
            'images': [
                {
                    'href': '/images/1eaf6ef1-7f2d-4ecc-a8d5-6e8adba7cc0e.png'
                }
            ]
        }

        response = client.simulate_get('/images')
>       result_doc = msgpack.unpackb(response.content,raw=False)

tests/test_app.py:26: 
_ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ 

>   ???
E   msgpack.exceptions.ExtraData: unpack(b) received extra data.

msgpack/_unpacker.pyx:209: ExtraData
============================== 1 failed in 0.15s ===============================

app.py,images.py和test_app.py正是本教程中的代码,没有任何更改。

wensk2008 回答:Falcon中的msgpack.unpackb

在上一步中,他们将响应类型更改为MessagePack。如果您将JSON保留为响应类型,则可能是您的问题。

解决替换

result_doc = msgpack.unpackb(response.content,raw=False)

作者

result_doc = json.loads(response.content)
本文链接:https://www.f2er.com/3169507.html

大家都在问