Spring, REST a e-mail jako parametr
Denně jako vývojáři řešíme jeden problém za druhým. O většině si nejspíš myslíte, že nestojí za samostatný článek na blog (což není pravda). Mezi takové, které jsem odsunul do pozadí, by patřil i tento, pokud by se ovšem na to samém nepozastavil i kolega. Jde o to, že když používáte Spring spolu s RESTovým url a chcete používat e-mail jako parametr,
například http://localhost:8080/users/jmeno.prijmeni@firma.domena, tak kód vyžaduje drobnou úpravu.
Při implementaci překvapí, že místo e-mailu dostanete jen substring. Jsme empiričtí programátoři, takže čteme dokumentaci, jen když nám něco nejde. Ale kde a co v tomto případě hledat? Klíčem je anotace @RequestMapping, konkrétně se tam mluví o @PathVariable
By default, the URI template will match against the regular expression [^.]
Vidíte to tam? Bonmot praví, že máme-li problém a rozhodneme se ho řešit regulárním výrazem, máme problémy rázem dva.