Dio options.contentType与标头“ Content-Type”

时间:2019-08-21 07:40:02

标签: rest http flutter dart

我试图使用the Dio plugin来调用REST服务,但是一直得到HTTP 400响应代码。我以为我可以通过将内容类型和响应类型选项设置为JSON来正确地完成所有事情:

Response response = await Dio().get(
    'https://api.example.com/v1/products/$productId',
    queryParameters: {},
    options: Options(
        contentType: ContentType.json,
        responseType: ResponseType.json,
        headers: {'Authorization': 'Bearer $MY_API_KEY'}
    ),
);

但是,事实证明,我还需要添加一个Content-Type标头:

headers: {'Authorization': 'Bearer $MY_API_KEY'}, 'Content-Type': 'application/json' };

所以现在我很困惑-contentType选项的作用是什么?我认为这类似于手动设置Content-Type标头?

1 个答案:

答案 0 :(得分:1)

我已经在本地使用 dio: ^3.0.10 尝试了此操作,但似乎 ContentType.jsoncontentType 的无效值。

invalid contentType

挖掘documentation for dio,应该使用Headers.jsonContentType

valid contentType