пользовательские преобразователи параметров весной - PullRequest
0 голосов
/ 22 октября 2018

Есть ли в Spring пользовательские преобразователи параметров. Например,

@RequestMapping(value="/getEmployees/{"empName"}")
public void getEmployees(@PathVariable("empName") Employee employee)
{
}

Переменная пути, полученная из запроса, имеет тип spring. На основе данного empName она будет назначена объекту Employee. В JAX-RS мы можем использовать ParamConvertor и ParamConvertorProvider для конвертации. Как и в JAX-RS, у нас есть конвертеры?

1 Ответ

0 голосов
/ 22 октября 2018

Да, вы можете использовать пользовательские преобразователи параметров в Spring

1 Создать компонент преобразователя, который реализует интерфейс Spring преобразователя

@Component
public class StringToRightsModeConverter implements Converter<String, RightsMode> {

    @Override
    public RightsMode convert(String s) {
        try{
            return RightsMode.valueOf(s);
        } catch (Exception e) {
            return RightsMode.getByCode(s);
        }
    }
}

2 Вот и все.Spring автоматически использует его для преобразования типа String -> RightsMode

@GetMapping({"/periods"})
public List<Period> periods(
        @RequestParam(required = false) RightsMode rightsMode) {
 ................................................................
}

Преобразование типа Spring 3

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...