假设宿主站点为::
API标头密钥:“ voted_up_on?
”
要注册新用户,您必须调用PUT方法:nil
身体是这样的:
x-api-key: 7462-3172-8773-3312-5819
现在我该如何在颤抖中做到这一点?我搜索了几本教程,但仍然感到困惑。
答案 0 :(得分:1)
从dart库中导入http包并将其别名为http,这种别名的原因是您不想在文件中的任何地方都使用.get()方法建议。因此,当您将http与http.get()
一起使用时,它会为您提供get
的建议,您可以在其中传递名为headers的参数。
代码如下:
import 'package:http/http.dart' as http;
url = 'YOUR_URL';
var response = await http.get(
url,
headers: {HttpHeaders.authorizationHeader: TOKEN}, //an example header
);
就您而言,
import 'dart:convert';
import 'dart:io';
import 'dart:async';
main() async {
String url =
'https://dev.xyz.com';
Map map = {
'data': {'apikey': '7462-3172-8773-3312-5819'},
};
print(await apiRequest(url, map));
}
Future<String> apiRequest(String url, Map jsonMap) async {
HttpClient httpClient = new HttpClient();
HttpClientRequest request = await httpClient.postUrl(Uri.parse(url));
request.headers.set('content-type', 'application/json');
request.add(utf8.encode(json.encode(jsonMap)));
HttpClientResponse response = await request.close();
// todo - you should check the response.statusCode
String reply = await response.transform(utf8.decoder).join();
httpClient.close();
return reply;
}
答案 1 :(得分:0)
您需要将标头放在http请求上。例如:
await put(urlApi + 'update/'+ customer.id, headers: {'token': token, 'content-type': 'application/json'},body: body);