在Spring框架中,可以使用ConversionService来实现String转换为List <MyType>的功能。以下是一个完整的示例:
@Configuration
public class AppConfig {
@Bean
public ConversionService conversionService() {
DefaultFormattingConversionService conversionService = new DefaultFormattingConversionService();
conversionService.addConverter(new StringToMyTypeListConverter());
return conversionService;
}
}
public class StringToMyTypeListConverter implements Converter<String, List<MyType>> {
@Override
public List<MyType> convert(String source) {
if (StringUtils.isEmpty(source)) {
return Collections.emptyList();
}
String[] sourceArray = source.split(",");
List<MyType> targetList = new ArrayList<>(sourceArray.length);
for (String sourceElement : sourceArray) {
MyType targetElement = new MyType();
// 在这里进行MyType对象的属性设置,例如:
targetElement.setProperty(sourceElement.trim());
targetList.add(targetElement);
}
return targetList;
}
}
@Service
public class MyService {
@Autowired
private ConversionService conversionService;
public List<MyType> convertStringToMyTypeList(String source) {
return conversionService.convert(source, List.class);
}
}
@RestController
public class MyController {
@Autowired
private MyService myService;
@GetMapping("/convert")
public List<MyType> convert(@RequestParam("source") String source) {
return myService.convertStringToMyTypeList(source);
}
}
这样,就可以实现String转换为List <MyType>的功能了。
领取专属 10元无门槛券
手把手带您无忧上云