Tworzę aplikację internetową przy użyciu Spring REST i hibernacji. Tutaj pobieram rekord z bazy danych przy użyciu unikalnej nazwy użytkownika pochodzącej z adresu URL. Ale problem polega na tym, że jeśli piszę prosty ciąg, to działa dobrze, ale kiedy w nazwie użytkownika piszę kropkę (.), Wtedy żaden wynik nie pochodzi z bazy danych.Jak uzyskać parametr zawierający kropkę (.) Z adresu url na wiosnę
Na przykład.
http://localhost:8080/WhoToSubscribe/subscribe/anshul007
ale gdy używam tej url
http://localhost:8080/WhoToSubscribe/subscribe/nadeem.ahmad095
to nie działa, ponieważ jest zawierająca kropkę (.)
Oto mój kontroler
@RequestMapping(value = "/{uname}", method = RequestMethod.GET)
public @ResponseBody
List<Profession> getSubscriber(@PathVariable("uname") String uname) {
List<Profession> pro = null;
try {
pro = subscribeService.getProfessionById(uname);
} catch (Exception e) {
e.printStackTrace();
}
return pro;
}
Oto mój DAO klasa
@SuppressWarnings("unchecked")
public List<Profession> getProfessionById(String uname) throws Exception {
session = sessionFactory.openSession();
session.beginTransaction();
String queryString = "from Profession where username = :uname";
Query query = session.createQuery(queryString);
query.setString("uname", uname);
//List<Profession> queryResult = (List<Profession>) query.uniqueResult();
session.getTransaction().commit();
return query.list();
}
w w której wersji wiosną jesteś? –
możliwy duplikat http://stackoverflow.com/questions/16332092/spring-mvc-pathvariable-with-dot-is-getting-nruncated –
wersja wiosna 4 – artle