169 похожих чатов

Господа, что не так делаю? Надо, чтобы спригбутовина в rest-контроллере

принимала pathvariable enum в нижнем регистре. Чтобы писать в урле /api/something/person вместо /api/something/PERSON.

У jackon'а есть настройка, как мне кажется для этого.

Feature that determines if Enum deserialization should be case sensitive or not.
If enabled, Enum deserialization will ignore case, that is, case of incoming String
value and enum id (depending on other settings, either `name()`, `toString()`, or
explicit override) do not need to match.
<p>
Feature is disabled by default.

ACCEPT_CASE_INSENSITIVE_ENUMS(false),

Пустой тест-проект. application.properties:
spring.jackson.mapper.accept-case-insensitive-enums=true

public enum Type {
PERSON, OTHER
}

@RestController ...
@GetMapping("/{type}")
public String sayType(@PathVariable Type type) {
return type.toString();
}


И нифига. /api/something/PERSON работает, /api/something/person - нет *.

Spring Boot 2.2.1 и 2.5.14.

*
.w.s.m.s.DefaultHandlerExceptionResolver : Resolved [org.springframework.web.method.annotation.MethodArgumentTypeMismatchException: Failed to convert value of type 'java.lang.String' to required type 'com.example.jacksonenumcaseinsensitivetest.Type'; nested exception is ...
No enum constant com.example.jacksonenumcaseinsensitivetest.Type.person]

5 ответов

37 просмотров

А если для Type определить конструктор со стринговым параметром?чтобы было что-то типа PERSON("person"), может тогда Type построится из pathvariable

Нужен StringToEnumConverter и добавление его в конфиг

Мб где-то обьявляетс Бин objectMapper и в нем надо прописывать

Посмотри мб по стектрейсу какие классы отрабатывают и загугли как их конфигурить

Roman Zigzag
Посмотри мб по стектрейсу какие классы отрабатываю...

Да там самый банальный веббиндер, как его задачу сделать - 1 строка в Гугле )

Похожие вопросы

Обсуждают сегодня

Господа, а что сейчас вообще с рынком труда на делфи происходит? Какова ситуация?
Rꙮman Yankꙮvsky
29
А вообще, что может смущать в самой Julia - бы сказал, что нет единого стандартного подхода по многим моментам, поэтому многое выглядит как "хаки" и произвол. Короче говоря, с...
Viktor G.
2
30500 за редактор? )
Владимир
47
а через ESC-код ?
Alexey Kulakov
29
Чёт не понял, я ж правильной функцией воспользовался чтобы вывести отладочную информацию? но что-то она не ловится
notme
18
У меня есть функция где происходит это: write_bit(buffer, 1); write_bit(buffer, 0); write_bit(buffer, 1); write_bit(buffer, 1); write_bit(buffer, 1); w...
~
14
Добрый день! Скажите пожалуйста, а какие программы вы бы рекомендовали написать для того, чтобы научиться управлять памятью? Можно написать динамический массив, можно связный ...
Филипп
7
Недавно Google Project Zero нашёл багу в SQLite с помощью LLM, о чём достаточно было шумно в определённых интернетах, которые сопровождались рассказами, что скоро всех "ибешни...
Alex Sherbakov
5
Ребят в СИ можно реализовать ООП?
Николай
33
https://github.com/erlang/otp/blob/OTP-27.1/lib/kernel/src/logger_h_common.erl#L174 https://github.com/erlang/otp/blob/OTP-27.1/lib/kernel/src/logger_olp.erl#L76 15 лет назад...
Maksim Lapshin
20
Карта сайта