This SDK is compatible with Appwrite server version 1.6.x. For older versions, please checkprevious releases.
Appwrite is an open-source backend as a service server that abstract and simplify complex and repetitive development tasks behind a very simple to use REST API. Appwrite aims to help you develop your apps faster and in a more secure way. Use the.NET SDK to integrate your app with the Appwrite server to easily start interacting with all of Appwrite backend APIs and tools. For full API documentation and tutorials go tohttps://appwrite.io/docs
Add this reference to your project's.csproj
file:
<PackageReferenceInclude="Appwrite"Version="0.10.1"/>
You can install packages from the command line:
#Package Manager
Install-PackageAppwrite-Version0.10.1
#or.NET CLI
dotnet add package Appwrite--version0.10.1
Once you have installed the package, it is extremely easy to get started with the SDK; all you need to do is import the package in your code, set your Appwrite credentials, and start making API calls. Below is a simple example:
usingAppwrite;
usingAppwrite.Services;
usingAppwrite.Models;
varclient=newClient()
.SetEndpoint("http://cloud.appwrite.io/v1")
.SetProject("5ff3379a01d25")// Your project ID
.SetKey("cd868db89");// Your secret API key
varusers=newUsers(client);
varuser=awaitusers.Create(
userId:ID.Unique(),
email:"email@example",
phone:"+123456789",
password:"password",
name:"Walter O'Brien");
Console.WriteLine(user.ToMap());
The Appwrite.NET SDK raises anAppwriteException
object withmessage
,code
,andresponse
properties. You can handle any errors by catchingAppwriteException
and presenting themessage
to the user or handling it yourself based on the provided error information. Below is an example.
varusers=newUsers(client);
try
{
varuser=awaitusers.Create(
userId:ID.Unique(),
email:"email@example",
phone:"+123456789",
password:"password",
name:"Walter O'Brien");
}
catch(AppwriteExceptione)
{
Console.WriteLine(e.Message);
}
You can use the following resources to learn more and get help
For the.NET SDK, we use theNewtonsoft.Json
library for serialization/deserialization support. The default behavior converts property names fromPascalCase
tocamelCase
on serializing to JSON. In case the names of attributes in your Appwrite collection are not created incamelCase
,this serializer behavior can cause errors due to mismatches in the names in the serialized JSON and the actual attribute names in your collection.
The way to fix this is to add theJsonProperty
attribute to the properties in the POCO class you create for your model.
For e.g., if you have two attributes,name
(string
type) andrelease_date
(DateTime
type), your POCO class would be created as follows:
publicclassTestModel
{
[JsonProperty("name")]
publicstringName{get;set;}
[JsonProperty("release_date")]
publicDateTimeReleaseDate{get;set;}
}
TheJsonProperty
attribute will ensure that your data object for the Appwrite database is serialized with the correct names.
This library is auto-generated by Appwrite customSDK Generator.To learn more about how you can help us improve this SDK, please check thecontribution guidebefore sending a pull-request.
Please see theBSD-3-Clause licensefile for more information.