如何减少 spring-boot 中以下代码中 if 语句的数量。
该值是通过调用服务类中的函数在 DTO 中设置的。
public ResponseEntity<somedTO> fetchAlldata(@RequestParam(value="meta", required=false)
List<String> meta) {
somedTO response = new somedTO();
//Checks if param present else print complete service
if (meta != null && !meta.isEmpty()) {
if (meta.contains("A")) {
response.setA(service.getA());
}
if (meta.contains("B")) {
response.setB(service.getB());
}
if (meta.contains("C")) {
response.setC(service.getC());
}
if (meta.contains("D")) {
response.setD(service.getD());
}
if (meta.contains("E")) {
response.setE(service.getE());
}
if (meta.contains("F")) {
response.setF(service.getF());
}
if (meta.contains("G")) {
response.setG(service.getG());
}
}
}
如何继续使用 DTO 或 Map 来减少 If 语句?
最佳答案
你可以这样写:
if (meta != null && !meta.isEmpty()) {
meta.contains("A") ? response.setA(service.getA()) :
meta.contains("environment") ? response.setB(service.getB()) : XXXXXXXXXXXXXXx;
}
关于java - 如何使用其他DTO来减少Spring boot中的if语句,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/51764604/