Added API Documentation

This commit is contained in:
Andreas Völker 2018-12-30 13:40:04 +01:00
parent 132ca1a05b
commit 591ab2be0c
2 changed files with 72 additions and 0 deletions

BIN
doku/api.pdf Normal file

Binary file not shown.

72
doku/api.tex Normal file
View File

@ -0,0 +1,72 @@
\documentclass[a5paper]{article}
\usepackage[utf8]{inputenc}
\usepackage[T1]{fontenc}
\usepackage{amsmath}
\usepackage{amssymb}
\usepackage{ngerman}
\usepackage{graphicx}
\usepackage{hyperref}
\usepackage{listings}
\usepackage{parskip}
\setlength{\parindent}{0pt}
\title{Pixelserver2 API Reference}
\author{Andreas}
\begin{document}
\maketitle
\tableofcontents
\newpage
\section{Allgemeines}
Der Pixelserver verwendet eine HTTP API. Einige Funktionen benutzen JSON zur Datenübertragung.
In Standardkonfiguration startet der Pixelserver unter \url{http://localhost:8000/}.
\section{API}
\subsection{GET /apps/list}
Gibt die Liste aller \textbf{App}s zurück. Jede \textbf{App} ist ein Objekt mit folgenden Attributen:
\begin{itemize}
\item \textbf{name} (string): Der Name der App, der für alle anderen API-Aufrufe verwendet wird.
\item \textbf{guiname} (string): Der Name unter dem die App für Benutzer angezeigt wird. Dieser wird intern ansonsten nicht verwendet.
\item \textbf{persistatent} (bool): Dies sagt aus, ob die App im Hintergrund läuft. In diesem Fall können keine Parameter an die App übergeben werden.
\end{itemize}
\newpage
\textbf{Beispiel:} GET \url{http://localhost:8000/apps/list}:
\begin{lstlisting}[frame=single, basicstyle=\small]
[
{"name": "swifthohenberg",
"guiname": "Structure formation",
"persistent": false},
{"name": "flicker",
"guiname": "Flicker",
"persistent": false}
]
\end{lstlisting}
\subsection{GET /apps/start/<name>}
Startet die App <name> mit leerem Parameter. Es wird \textit{ok} oder \textit{not\_found} zurückgegeben.
\textbf{Beispiel:} GET \url{http://localhost:8000/apps/start/swifthohenberg}:
\begin{lstlisting}[frame=single, basicstyle=\small]
ok
\end{lstlisting}
\subsection{POST /apps/start/<name>}
Startet die App <name>. Der Parameter wird per Post als HTML Formular unter dem Namen \textit{param} übergeben.Es wird \textit{ok} oder \textit{not\_found} zurückgegeben.
\textbf{Beispiel:} POST \url{http://localhost:8000/apps/start/swifthohenberg}:
\begin{lstlisting}[frame=single, basicstyle=\small]
ok
\end{lstlisting}
\subsection{GET /apps/start/<name>/<param>}
Startet die App <name> mit dem Parameter <param>.Es wird \textit{ok} oder \textit{not\_found} zurückgegeben.
\textbf{Beispiel:} GET \url{http://localhost:8000/apps/start/flicker/33}:
\begin{lstlisting}[frame=single, basicstyle=\small]
ok
\end{lstlisting}
\subsection{GET /apps/running}
Gibt den Name der aktuell laufenden App zurück.
\textbf{Beispiel:} GET \url{http://localhost:8000/apps/running}:
\begin{lstlisting}[frame=single, basicstyle=\small]
flicker
\end{lstlisting}
\end{document}