issue with parentheses ( ) in swagger endpoint
Closed this issue · 1 comments
leon-vg commented
With odata-based services, it is common to have endpoints with the following character:
/entity('A123')
I have made swagger documentation for this endpoint, but RESTinstance gives an incorrect error that this path is not found:
test | FAIL |
u'request':
- 'path':
- "No paths found for /entity('A123')"
I am under the impression that this has to do with the fact that the endpoint contains parentheses.
Here follows an example to reproduce this problem:
Swagger documentation: api-docs.json
{
"info": {
"title": "Test API",
"version": "1"
},
"basePath": "/api/v1",
"swagger": "2.0",
"paths": {
"/entity('{name}')": {
"get": {
"summary": "get odata endpoint",
"parameters": [
{
"in": "path",
"name": "name",
"type": "string",
"required": true,
"description": "Name"
}
],
"produces": [
"application/json"
],
"responses": {
"200": {
"description": "success"
}
}
}
}
},
"definitions": {},
"responses": {},
"parameters": {},
"securityDefinitions": {}
}
Robot Framework test
*** Settings ***
Library REST url=https://host/ spec=./api-docs.json
*** Test Cases ***
test
REST.Get /api/v1/entity('A123')
leon-vg commented
I think I tracked down the issue. It is in the 'flex' library:
pipermerriam/flex#204