SDFIdk / skraafoto_stac_public

Other
6 stars 1 forks source link

Incorrect values in query parameter `crs`, `bbox-crs`, and`filter-crs` does not give error message #22

Closed seskildsen closed 2 years ago

seskildsen commented 2 years ago

Incorrect values in query parameter crs, bbox-crs, and filter-crs in openapi docs GET /search does not give error message, but returns the same json response, as if the query parameters crs, bbox-crs, and filter-crs never was given values.

Calls: https://api.dataforsyningen.dk/skraafotoapi_test/search?crs=e&limit=10&token= https://api.dataforsyningen.dk/skraafotoapi_test/search?limit=10&bbox-crs=e&token= https://api.dataforsyningen.dk/skraafotoapi_test/search?limit=10&filter-crs=e&token=

Expected outcome: Client get returned an error message.

Actual outcome: Client get the same response json seen in https://api.dataforsyningen.dk/skraafotoapi_test/search?limit=10&token=

seskildsen commented 2 years ago

Behaviour in other query parameters to show why the behaviour of crs, bbox-crs, and filter-crs seems off:

ids

Given value: d Outcome

{ "type": "FeatureCollection", "features": [], "links": [ { "rel": "self", "type": "application/geo+json", "href": "http://load201.kmsext.dk:4444/search?limit=10&ids=d", "method": "GET", "body": null } ], "context": { "returned": 0, "limit": 10, "matched": 1 } }

bbox

Given value: 34 Outcome

{ "detail": [ "Invalid parameters provided", "2 validation errors for STACSearch", "bbox", " wrong tuple length 1, expected 4 (type=value_error.tuple.length; actual_length=1; expected_length=4)", "bbox", " wrong tuple length 1, expected 6 (type=value_error.tuple.length; actual_length=1; expected_length=6)" ] }

Given value: e,e,e,e Outcome

{ "detail": [ "Invalid parameters provided", "9 validation errors for STACSearch", "bbox -> 0", " value is not a valid float (type=type_error.float)", "bbox -> 0", " value is not a valid integer (type=type_error.integer)", "bbox -> 1", " value is not a valid float (type=type_error.float)", "bbox -> 1", " value is not a valid integer (type=type_error.integer)", "bbox -> 2", " value is not a valid float (type=type_error.float)", "bbox -> 2", " value is not a valid integer (type=type_error.integer)", "bbox -> 3", " value is not a valid float (type=type_error.float)", "bbox -> 3", " value is not a valid integer (type=type_error.integer)", "bbox", " wrong tuple length 4, expected 6 (type=value_error.tuple.length; actual_length=4; expected_length=6)" ] }

datetime

Given value: e Outcome

{ "detail": [ "Invalid parameters provided", "1 validation error for STACSearch", "datetime", " invalid datetime format (type=value_error.datetime)" ] }

Given value: 2019 Outcome

{ "detail": "unhandled database error" }

Given value: 2+019 Outcome

{ "detail": [ "Invalid parameters provided", "1 validation error for STACSearch", "datetime", " invalid datetime format (type=value_error.datetime)" ] }

Aramos93 commented 2 years ago

Tilføjet crs validators i 0e6e2dc28116bdc64fb8dcdc81fdb52737b88270 Returnerer nu fejl 400 på dårligt input