Hi Johan,
Here are the answers to your questions;
1. Currently, HTTP Basic Authentication is the only supported way of authentication. But this must be seen as a way to provide login data to Indicium. Indicium already supports Windows, RDBMS and IAM authentication after all. These all run by the HTTP Basic Authentication standard. The common disadvantage for HTTP Basic Authentication is that this is unencrypted. However, it’s fully possible to flare this disadvantage by using HTTPS, which we recommend our customers. We are currently working on an authentication in Indicium; so if you have a specific user case where Indicium is failing short at the moment, I’d like to here that. Maybe I can come up with an alternative or take this into account when developing.
2. The $select, $filter, $orderby parameters are only allowed to occur once. It’s possible to do OR-Conditions, which would be difficult with two $filter parameters.
3. Indicium doesn’t distinguish between tables and views. The $top=10 parameters should work on both, so I don’t think that’s causing the problem. The most obvious reason for the ‘500 internal server error’ would be that the view itself is causing an SQL error. Check out point 4 to find out whether this is true.
4. Most of the ‘500 internal server errors’ are caused by the database. Mostly because of a lack of rights or because of an SQL code that’s generating an error. Indicium only sends errors (and info messages) that have to do with the database and returns them using a TSFMessage header in the response. This header can contain several messages that are base64 encoded .
For security reasons, Indicium will only show errors in the development environment and not in the production environment. In the production environment, they will be replaced by ‘unknown error’. Indicium can be configured to run in a development environment by replacing the following line:
by:
I will be expanding the documentation soon to cover this point.
5. No, you will need a second request for that.
6. Yes, upward of release 2018.1.4 of Indicium, this will be possible by adding the following request header:
code:Accept: application/json;odata.metadata=none
7. Postman is a fine tool to test Indicium. I commonly use Insomnia myself. Both tools have comparable sets of features, but I prefer the interface of Insomnia.
Does this answer all your questions?
I just noticed that Indicium 4 is active! That's great, I'll start working with it right away.
Hi Vincent,
One last question about Indicium.
By adding the request header key:
code:"Accept" / value: "application/json;odata.metadata=none"
I’ve managed to get back “plain” JSON:
code:{
"value": l
{
"nummer": 2190,
"titel": "102 MINUTES THAT CHANGED AMERICA",
"land": "USA",
"jaar": 2008,
"genre": "DOCUMENTAIRE",
"tijdsduur": 102,
"waardering": 6
},
{
"nummer": 1959,
"titel": "KILL THE REFEREE",
"land": "B",
"jaar": 2009,
"genre": "DOCUMENTAIRE",
"tijdsduur": 77,
"waardering": 8
}
]
}
but the API that we are communicating with expects the following:
code: l
{
"nummer": 2190,
"titel": "102 MINUTES THAT CHANGED AMERICA",
"land": "USA",
"jaar": 2008,
"genre": "DOCUMENTAIRE",
"tijdsduur": 102,
"waardering": 6
},
{
"nummer": 1959,
"titel": "KILL THE REFEREE",
"land": "B",
"jaar": 2009,
"genre": "DOCUMENTAIRE",
"tijdsduur": 77,
"waardering": 8
}
]
How is this done?