Error Responses¶
Returning an 404 NOT FOUND¶
The nnrestapi
has a few shortcuts built in to respond with error codes, if the request parameters were
invalid or the requested data could not be retrieved.
Have a look at the class Nng\Nnrestapi\Mvc\Response
to see all available options.
Here we are checking for a model. If it can't be found, we return a 404 NOT FOUND
error:
<?php
namespace My\Extension\Api;
use Nng\Nnrestapi\Annotations as Api;
use Nng\Nnrestapi\Api\AbstractApi;
/**
* @Api\Endpoint()
*/
class Test extends AbstractApi
{
/**
* Call via GET-request with an uid: https://www.mywebsite.com/api/test/1
*
* @Api\Access("public")
* @return array
*/
public function getIndexAction( $uid = null )
{
$entry = $this->entryRepository->findByUid( $uid );
if (!$entry) {
return $this->response->notFound('Model with uid [' . $uid . '] was not found.');
}
return $entry;
}
}
If you open the URL https://www.mywebsite.com/api/test/1
in your browser and pass the uid
of an entry that does not exist, you will see the following JSON response. It will be sent with
a 404 NOT FOUND
header:
{"status":404, "error":"Model with uid [1] was not found."}
Overview of error codes¶
shortcut |
code |
description |
---|---|---|
|
200 |
OK - sent, if no other option was called |
|
204 |
Empty response |
|
403 |
Unauthorized (not logged in) |
|
403 |
Alias to unauthorized |
|
404 |
Not found |
|
422 |
Invalid request parameters |
|
any |
Custom response |