def count_substring(string, sub_string):
count=0
for pos in range(len(string)):
if string[pos:].startswith(sub_string):
count+=1
return count
Это может быть самым простым способом.
Попробуйте использовать регулярное выражение для аргумента @RequestMapping
:
RequestMapping(method = RequestMethod.GET, value = Routes.BLAH_GET + "/{blahName:.+}")
Возможно, это тесно связано с SPR-6164. Вкратце, фреймворк пытается применить некоторые умные методы к интерпретации URI, удаляя то, что, по его мнению, является расширениями файлов. В результате blah2010.08.19-02:25:47
превратится в blah2010.08
, поскольку он считает, что .19-02:25:47
- это расширение файла.
Как описано в связанном выпуске, вы можете отключить это поведение, объявив собственный боб DefaultAnnotationHandlerMapping
в контексте приложения и установив его свойство useDefaultSuffixPattern
в false
. Это отменит поведение по умолчанию, и приложение перестанет издеваться над вашими данными.