Flutter web - dio changes post requests into options requests

Viewed 1657

I'm using package:dio in a Flutter web application.

Whenever I send a POST request, however, it gets changed into an OPTIONS request. The function that makes the API request looks like this:

Future<LoginResponse> login(LoginRequest request) async {
    final dio = Dio(BaseOptions(baseUrl: "http://localhost:8000"));
    final response = await dio.post("/login", data: request.toJson());
    return LoginResponse.fromJson(jsonDecode(response.data));
}

This code sends an OPTIONS request to http://localhost:8000/login. If I add that endpoint to my server, it works.

If I send the POST request from postman manually it also works.

If I change this code to other methods (e.g. dio.delete(...)) it also maps to an OPTIONS request.

Why is dio rewriting my requests?

0 Answers
Related