Sunday, March 3, 2013

Erste Schritte mit der Rest API von Lotus Domino

Im letzten Post habe ich gezeigt, wie einfach es ist die REST Api für einen Domino Server zu aktivieren. Jetzt möchte ich zeigen wie man die API ohne ein Programm zu schreiben testen kann und erste Erfahrungen mit der Syntax der RESTurls gewinnen kann.

Dafür erscheint mir die RESTClient Extension für den Firefox am besten geeignet. Diese Extension kann auf Knopfdruck zum Firefox hinzugefügt. werden.


Nach einem Neustart des Firefox ist der RESTClient im Browser verfügbar. Der Knopf für den RestClient befindet sich ganz rechts in der Adresszeile.


In der UI des RESTClient kann man dann seine Zugriffsmethode, die URL und bei Bedarf auch Daten im Body mitschicken.



Wie sehen nun aber die URLs für den Zugriff auf Domino Daten aus. Hier ein paar Beispiele:

Erstellen einer Liste sämtlicher Datenbanken auf dem Domino Server:

http://localhost:80/api/data

Zugriff auf den Inhalt einer View:

http://localhost:80/test.nsf/api/data/collections/name/Adressen

test.nsf ist der Datenbankname und Adressen der Ansichtsname der zurückgegeben werden soll.

Zugriff auf ein Dokument mit einer bestimmten UNID:

http://localhost:80/test.nsf/api/data/documents/unid/9721E84AF9E25C4AC1257AE200598E50

Nach dem man im RESTClient dann auf den "SEND" Knopf gedrückt hat, werden einem die Ergebnisse der Abfrage unten angezeigt. Im Reiter "Response Headers" sieht man die HTTP Headers. Im Response Body sieht man das zurückgegebene JSON Dokument, dass die angeforderten Daten enthält. Hier ein kleines Notesdokument mit 2 Feldern:
{
    "@href":"http:\/\/localhost:80\/test.nsf\/api\/data\/documents\/unid\/9721E84AF9E25C4AC1257AE200598E50",
    "@unid":"9721E84AF9E25C4AC1257AE200598E50",
    "@noteid":"8F6",
    "@created":"2012-12-28T16:18:11Z",
    "@modified":"2012-12-28T16:18:27Z",
    "@authors":"CN=Ralf M Petter\/O=Demo",
    "@form":"Test",
    "Name1":"Ralf",
    "Name2":"Petter"
}

Natürlich kann das REST Api des Domino Servers noch viel mehr und jede URL bietet auch noch diverse Parameter um das Ergebnis zu beeinflussen. Einen guten Überblick über die Möglichkeiten, bekommt man in der REST Referenz im IBM Developer Wiki.

Das REST Api hat meiner Meinung nach enormes Potential für Anwendungen die nur lose an Domino angekoppelt werden sollen und der RESTClient im Firefox ist ein Super Werkzeug um seine ersten Schritte in diesem neuen Umfeld zu machen.

1 comment:

  1. Do you know how i can add in my pos an attachment?
    I tried it for example with postman as:

    {
    "artist": "post with postman",
    "title": "post",
    "ntracks": "12",
    "attachments": {
    "type":"multipart",
    "content": [
    {
    "contentType":"multipart/alternative; Boundary=\"0__=0ABBF330DFE0278A8f9e8a93df938690918c0ABBF330DFE0278A\"",
    "contentDisposition":"inline"
    },
    {
    "contentType":"text/plain;",
    "data":"Mostly sales. Some marketing."
    },
    {
    "contentType":"text/html; charset=US-ASCII",
    "contentDisposition":"inline",
    "data":" ********** some html **************"
    }
    ]
    }
    }

    but the domino-server get's only the fields "artist", "title" and "ntracks".

    ReplyDelete

ad