new files added
This commit is contained in:
259
api.html
Normal file
259
api.html
Normal file
@@ -0,0 +1,259 @@
|
||||
<head><base href='file://D%3A%5CownCloud%5CDocuments%5CProgrammierung%5CJava%20-%20Android%20Studio%5CPostGrachelor%5Cdocs/'/></head><h1>PHP Application Programming Interface</h1>
|
||||
<p>All value and foreign checks are done on server side. On error the response javascript must match the following structure. The HTTP status code should match the <a href="https://en.wikipedia.org/wiki/List_of_HTTP_status_codes">standards</a>.</p>
|
||||
<div class="highlight highlight-source-js"><pre>{
|
||||
meta<span class="pl-k">:</span> {
|
||||
status<span class="pl-k">:</span> <span class="pl-c1">125462</span>,
|
||||
message<span class="pl-k">:</span> <span class="pl-s"><span class="pl-pds">"</span>Error message here.<span class="pl-pds">"</span></span>
|
||||
},
|
||||
data<span class="pl-k">:</span> {
|
||||
|
||||
}
|
||||
}</pre></div>
|
||||
<p>The basic stucture of an successful request contains the status code <code>0</code> and the success message <code>"Success"</code>. The HTTP status code must be <code>200 OK</code>.</p>
|
||||
<div class="highlight highlight-source-js"><pre>{
|
||||
meta<span class="pl-k">:</span> {
|
||||
status<span class="pl-k">:</span> <span class="pl-c1">0</span>,
|
||||
message<span class="pl-k">:</span> <span class="pl-s"><span class="pl-pds">"</span>Success<span class="pl-pds">"</span></span>
|
||||
},
|
||||
data<span class="pl-k">:</span> {
|
||||
|
||||
}
|
||||
}</pre></div>
|
||||
<h2>User Management</h2>
|
||||
<h3>Registration</h3>
|
||||
<p>Base URI: <code>/register.php</code></p>
|
||||
<h4>Parameters</h4>
|
||||
<pre><code>- `name`
|
||||
- Unique user name chosen by user
|
||||
- Must match regex ^[a-zA-Z0-9 ]{6,20}$
|
||||
</code></pre>
|
||||
<h4>Response</h4>
|
||||
<h5>Errors</h5>
|
||||
<table>
|
||||
<thead>
|
||||
<tr>
|
||||
<th>HTTP status codes</th>
|
||||
<th>Meta status code</th>
|
||||
<th>Meta message</th>
|
||||
</tr>
|
||||
</thead>
|
||||
<tbody>
|
||||
<tr>
|
||||
<td></td>
|
||||
<td></td>
|
||||
<td></td>
|
||||
</tr></tbody></table>
|
||||
<h5>Success data object</h5>
|
||||
<div class="highlight highlight-source-js"><pre>{
|
||||
name<span class="pl-k">:</span> <span class="pl-s"><span class="pl-pds">"</span>User chosen name<span class="pl-pds">"</span></span>,
|
||||
uid<span class="pl-k">:</span> <span class="pl-s"><span class="pl-pds">"</span>fsdff3q4fFWEFFDSFfewf3rwSDF<span class="pl-pds">"</span></span>
|
||||
}</pre></div>
|
||||
<h3>User name changing</h3>
|
||||
<p>Base URI: <code>/rename.php</code></p>
|
||||
<h4>Parameters</h4>
|
||||
<pre><code>- `name`
|
||||
- New unique user name chosen by user
|
||||
- Must match regex ^[a-zA-Z0-9 ]{6,20}$
|
||||
- `uid`
|
||||
- User identifier string given within the registration proccess
|
||||
</code></pre>
|
||||
<h4>Response</h4>
|
||||
<h5>Errors</h5>
|
||||
<table>
|
||||
<thead>
|
||||
<tr>
|
||||
<th>HTTP status codes</th>
|
||||
<th>Meta status code</th>
|
||||
<th>Meta message</th>
|
||||
</tr>
|
||||
</thead>
|
||||
<tbody>
|
||||
<tr>
|
||||
<td></td>
|
||||
<td></td>
|
||||
<td></td>
|
||||
</tr></tbody></table>
|
||||
<h5>Success data object</h5>
|
||||
<div class="highlight highlight-source-js"><pre>{
|
||||
name<span class="pl-k">:</span> <span class="pl-s"><span class="pl-pds">"</span>User chosen name<span class="pl-pds">"</span></span>,
|
||||
uid<span class="pl-k">:</span> <span class="pl-s"><span class="pl-pds">"</span>fsdff3q4fFWEFFDSFfewf3rwSDF<span class="pl-pds">"</span></span>
|
||||
}</pre></div>
|
||||
<h2>Data listing</h2>
|
||||
<h3>List categories</h3>
|
||||
<p>Base URI: <code>/categories.php</code></p>
|
||||
<h4>Parameters</h4>
|
||||
<pre><code>- `uid`
|
||||
- User identifier string given within the registration proccess
|
||||
</code></pre>
|
||||
<h4>Response</h4>
|
||||
<h5>Errors</h5>
|
||||
<table>
|
||||
<thead>
|
||||
<tr>
|
||||
<th>HTTP status codes</th>
|
||||
<th>Meta status code</th>
|
||||
<th>Meta message</th>
|
||||
</tr>
|
||||
</thead>
|
||||
<tbody>
|
||||
<tr>
|
||||
<td></td>
|
||||
<td></td>
|
||||
<td></td>
|
||||
</tr></tbody></table>
|
||||
<h5>Success data object</h5>
|
||||
<div class="highlight highlight-source-js"><pre>{
|
||||
categories<span class="pl-k">:</span> [
|
||||
{
|
||||
id<span class="pl-k">:</span> <span class="pl-c1">1</span>,
|
||||
name<span class="pl-k">:</span> <span class="pl-s"><span class="pl-pds">"</span>BWL<span class="pl-pds">"</span></span>
|
||||
},
|
||||
{
|
||||
id<span class="pl-k">:</span> <span class="pl-c1">2</span>,
|
||||
name<span class="pl-k">:</span> <span class="pl-s"><span class="pl-pds">"</span>Mathematik<span class="pl-pds">"</span></span>
|
||||
},
|
||||
<span class="pl-k">...</span>
|
||||
]
|
||||
}</pre></div>
|
||||
<h3>Show highscores</h3>
|
||||
<p>Base URI: <code>/highscores.php</code></p>
|
||||
<h4>Parameters</h4>
|
||||
<p>This request has no parameters.</p>
|
||||
<h4>Response</h4>
|
||||
<h5>Errors</h5>
|
||||
<table>
|
||||
<thead>
|
||||
<tr>
|
||||
<th>HTTP status codes</th>
|
||||
<th>Meta status code</th>
|
||||
<th>Meta message</th>
|
||||
</tr>
|
||||
</thead>
|
||||
<tbody>
|
||||
<tr>
|
||||
<td></td>
|
||||
<td></td>
|
||||
<td></td>
|
||||
</tr></tbody></table>
|
||||
<h5>Success data object</h5>
|
||||
<div class="highlight highlight-source-js"><pre>{
|
||||
score<span class="pl-k">:</span> <span class="pl-c1">3253</span>,
|
||||
place<span class="pl-k">:</span> <span class="pl-c1">122</span>,
|
||||
all<span class="pl-k">:</span> <span class="pl-c1">321</span>,
|
||||
categories<span class="pl-k">:</span> [
|
||||
{
|
||||
id<span class="pl-k">:</span> <span class="pl-c1">1</span>,
|
||||
name<span class="pl-k">:</span> <span class="pl-s"><span class="pl-pds">"</span>BWL<span class="pl-pds">"</span></span>,
|
||||
score<span class="pl-k">:</span> <span class="pl-c1">321</span>,
|
||||
place<span class="pl-k">:</span> <span class="pl-c1">123</span>
|
||||
},
|
||||
{
|
||||
id<span class="pl-k">:</span> <span class="pl-c1">2</span>,
|
||||
name<span class="pl-k">:</span> <span class="pl-s"><span class="pl-pds">"</span>Mathematik<span class="pl-pds">"</span></span>,
|
||||
score<span class="pl-k">:</span> <span class="pl-c1">1454</span>,
|
||||
place<span class="pl-k">:</span> <span class="pl-c1">1</span>
|
||||
},
|
||||
<span class="pl-k">...</span>
|
||||
]
|
||||
}</pre></div>
|
||||
<h2>Game methods</h2>
|
||||
<h3>Start game</h3>
|
||||
<p>If no game has started yet, a new game will start. If a game already started, it will be resetted and restarted.</p>
|
||||
<p>Base URI: <code>/start.php</code></p>
|
||||
<h4>Parameters</h4>
|
||||
<pre><code>- `uid`
|
||||
- User identifier string given within the registration proccess
|
||||
- `length`
|
||||
- *Optional*
|
||||
- Amount of questions of the test
|
||||
- If no value given, a default value will be used (one question per category)
|
||||
</code></pre>
|
||||
<h4>Response</h4>
|
||||
<h5>Errors</h5>
|
||||
<table>
|
||||
<thead>
|
||||
<tr>
|
||||
<th>HTTP status codes</th>
|
||||
<th>Meta status code</th>
|
||||
<th>Meta message</th>
|
||||
</tr>
|
||||
</thead>
|
||||
<tbody>
|
||||
<tr>
|
||||
<td></td>
|
||||
<td></td>
|
||||
<td></td>
|
||||
</tr></tbody></table>
|
||||
<h5>Success data object</h5>
|
||||
<div class="highlight highlight-source-js"><pre>{
|
||||
next<span class="pl-k">:</span> {
|
||||
categoryID<span class="pl-k">:</span> <span class="pl-c1">1</span>,
|
||||
categoryName<span class="pl-k">:</span> <span class="pl-s"><span class="pl-pds">"</span>BWL<span class="pl-pds">"</span></span>,
|
||||
question<span class="pl-k">:</span> <span class="pl-s"><span class="pl-pds">"</span>What is the day after yesterday?<span class="pl-pds">"</span></span>,
|
||||
anwsers<span class="pl-k">:</span> [
|
||||
<span class="pl-s"><span class="pl-pds">"</span>yesterday<span class="pl-pds">"</span></span>,
|
||||
<span class="pl-s"><span class="pl-pds">"</span>today<span class="pl-pds">"</span></span>,
|
||||
<span class="pl-s"><span class="pl-pds">"</span>tommorrow<span class="pl-pds">"</span></span>,
|
||||
<span class="pl-s"><span class="pl-pds">"</span>next week<span class="pl-pds">"</span></span>
|
||||
]
|
||||
}
|
||||
}</pre></div>
|
||||
<h3>Answer a question</h3>
|
||||
<p>Answer to the last question given by last <code>/start.php</code> or <code>/answer.php</code> reqest. The response contains the score you got with your answer in a <code>score</code> object. If the test contains a next question´, it is store in the <code>next</code> object. Else an <code>end</code> object contains your test results.</p>
|
||||
<p>Base URI: <code>/answer.php</code></p>
|
||||
<h4>Parameters</h4>
|
||||
<pre><code>- `uid`
|
||||
- User identifier string given within the registration proccess
|
||||
- `answer`
|
||||
- Selected answer index
|
||||
- `time`
|
||||
- Time needed to answer the last question
|
||||
</code></pre>
|
||||
<h4>Response</h4>
|
||||
<h5>Errors</h5>
|
||||
<table>
|
||||
<thead>
|
||||
<tr>
|
||||
<th>HTTP status codes</th>
|
||||
<th>Meta status code</th>
|
||||
<th>Meta message</th>
|
||||
</tr>
|
||||
</thead>
|
||||
<tbody>
|
||||
<tr>
|
||||
<td></td>
|
||||
<td></td>
|
||||
<td></td>
|
||||
</tr></tbody></table>
|
||||
<h5>Success data object</h5>
|
||||
<p>If there is a next question:</p>
|
||||
<div class="highlight highlight-source-js"><pre>{
|
||||
results<span class="pl-k">:</span> {
|
||||
correct<span class="pl-k">:</span> <span class="pl-c1">true</span>,
|
||||
score<span class="pl-k">:</span> <span class="pl-c1">19</span>,
|
||||
correctPos<span class="pl-k">:</span> <span class="pl-c1">3</span>
|
||||
}
|
||||
next<span class="pl-k">:</span> {
|
||||
categoryID<span class="pl-k">:</span> <span class="pl-c1">1</span>,
|
||||
categoryName<span class="pl-k">:</span> <span class="pl-s"><span class="pl-pds">"</span>BWL<span class="pl-pds">"</span></span>,
|
||||
question<span class="pl-k">:</span> <span class="pl-s"><span class="pl-pds">"</span>What is the day after yesterday?<span class="pl-pds">"</span></span>,
|
||||
anwsers<span class="pl-k">:</span> [
|
||||
<span class="pl-s"><span class="pl-pds">"</span>yesterday<span class="pl-pds">"</span></span>,
|
||||
<span class="pl-s"><span class="pl-pds">"</span>today<span class="pl-pds">"</span></span>,
|
||||
<span class="pl-s"><span class="pl-pds">"</span>tommorrow<span class="pl-pds">"</span></span>,
|
||||
<span class="pl-s"><span class="pl-pds">"</span>next week<span class="pl-pds">"</span></span>
|
||||
]
|
||||
}
|
||||
}</pre></div>
|
||||
<p>If it was the last test question:</p>
|
||||
<div class="highlight highlight-source-js"><pre>{
|
||||
results<span class="pl-k">:</span> {
|
||||
correct<span class="pl-k">:</span> <span class="pl-c1">true</span>,
|
||||
score<span class="pl-k">:</span> <span class="pl-c1">19</span>,
|
||||
correctPos<span class="pl-k">:</span> <span class="pl-c1">3</span>
|
||||
}
|
||||
end<span class="pl-k">:</span> {
|
||||
score<span class="pl-k">:</span> <span class="pl-c1">2523</span>,
|
||||
time<span class="pl-k">:</span> <span class="pl-c1">6535952</span>
|
||||
}
|
||||
}</pre></div>
|
||||
Reference in New Issue
Block a user