I have endpoint used to find book by book reference.
The book reference is string that can contain white-space and any kind of special characters, e.g. mybook
, my book
, my-book
, my/book
, book++
// GET api/books/reference/{reference}
[HttpGet("reference/{reference}")]
public ActionResult<BookItem> FindByReference(string reference)
This is what I get when testing:
GET api/books/reference/mybook
OK
GET api/books/reference/my book
OK
GET api/books/reference/my-book
OK
GET api/books/reference/my+book
404 Not found
GET api/books/reference/my/book
404 Not found
GET api/books/reference/book++
404 Not found
What is a proper way to encode this reference
parameter IN THE URL PATH so that it gets properly resolved by routing? Is that even possible?