Java 从函数生成端点值-注释属性X的值必须是常量表达式
我正在尝试从函数生成的字符串生成端点值,如下所示: ManagerController.javaJava 从函数生成端点值-注释属性X的值必须是常量表达式,java,spring,eclipse,rest,Java,Spring,Eclipse,Rest,我正在尝试从函数生成的字符串生成端点值,如下所示: ManagerController.java @Controller @RequestMapping(value = "/manager/") public class ManagerController { @Autowired Manager manager; public String endpointBuilder(String str) { return "storage/" + str;
@Controller
@RequestMapping(value = "/manager/")
public class ManagerController {
@Autowired
Manager manager;
public String endpointBuilder(String str) {
return "storage/" + str;
}
public String storeEndpoint = endpointBuilder("{store}");
@PostMapping(value = storeEndpoint)
private ResponseEntity<?> storeSomething(String str) {
manager.storeSomething(str);
return new ResponseEntity<>(CREATED);
}
}
@SpringBootApplication
public class Application {
public static void main(String[] args) {
SpringApplication.run(Application.class, args);
}
}
@Component
public class Manager {
private List<String> storage;
@Autowired
public Manager() {
this.storage = new ArrayList<String>();
}
public void storeSomething(String str) {
storage.add(str);
}
}
Manager.java
@Controller
@RequestMapping(value = "/manager/")
public class ManagerController {
@Autowired
Manager manager;
public String endpointBuilder(String str) {
return "storage/" + str;
}
public String storeEndpoint = endpointBuilder("{store}");
@PostMapping(value = storeEndpoint)
private ResponseEntity<?> storeSomething(String str) {
manager.storeSomething(str);
return new ResponseEntity<>(CREATED);
}
}
@SpringBootApplication
public class Application {
public static void main(String[] args) {
SpringApplication.run(Application.class, args);
}
}
@Component
public class Manager {
private List<String> storage;
@Autowired
public Manager() {
this.storage = new ArrayList<String>();
}
public void storeSomething(String str) {
storage.add(str);
}
}
@组件
公共班级经理{
私有列表存储;
@自动连线
公共经理(){
this.storage=new ArrayList();
}
公共void storeSomething(字符串str){
存储。添加(str);
}
}
如果可能的话,我该如何完成我想做的事情?如果不可能,是否有其他方法可以达到类似效果?这是不可能的。发件人:
当且仅当下列条件之一为真时,元素类型T
与元素值V
相称:
是一种数组类型T
并且:E[]
是一个ElementValueArrayInitializer,V
中的每个ElementValue(类似于数组初始值设定项中的可变初始值设定项)与V
相称;或E
是与V
相称的元素值E
的类型与V
的赋值兼容(§5.2),此外:T
- 如果
是基本类型或T
,而String
是常量表达式(§15.28)V
不为空V
- 如果
是T
,或调用Class
,且Class
是类文字(§15.8.2)V
- 如果
是枚举类型,T
是枚举常量V
- 如果
本质上,只允许编译时常量作为注释元素的值。您的问题是。。。?