create method

Future<ParseResponse> create({
  1. bool allowCustomObjectId = false,
  2. dynamic context,
})

Creates a new object and saves it online

Prefer using save over create

Implementation

Future<ParseResponse> create(
    {bool allowCustomObjectId = false, dynamic context}) async {
  try {
    final Uri url = getSanitisedUri(_client, _path);
    final String body = json.encode(toJson(
      forApiRQ: true,
      allowCustomObjectId: allowCustomObjectId,
    ));

    _saveChanges();

    final Map<String, String> headers = {
      keyHeaderContentType: keyHeaderContentTypeJson,
    };

    if (context != null) {
      headers
          .addAll({keyHeaderCloudContext: json.encode(parseEncode(context))});
    }

    final ParseNetworkResponse result = await _client.post(url.toString(),
        data: body, options: ParseNetworkOptions(headers: headers));

    final response = handleResponse<ParseObject>(
        this, result, ParseApiRQ.create, _debug, parseClassName);

    if (!response.success) {
      _notifyChildrenAboutErrorSaving();
    }

    return response;
  } on Exception catch (e) {
    _notifyChildrenAboutErrorSaving();
    return handleException(e, ParseApiRQ.create, _debug, parseClassName);
  }
}