gpt4 book ai didi

java - Spring boot能否根据property文件的内容动态创建端点?

转载 作者:塔克拉玛干 更新时间:2023-11-01 21:53:29 24 4
gpt4 key购买 nike

到目前为止,我正在创建这样的端点:

@RequestMapping(value = "/test", method = RequestMethod.POST)
public @ResponseBody String indexPost(HttpServletRequest request, HttpServletResponse response)
throws Exception {
//Doing calculations
return "Result";
}

但我想在服务器启动时访问 application.properties,读取这样存储的数据:

methods: {
"endpointOne": "DBStoredProcedure1",
"endpointTwo": "DBStoredProcedure2"
}

所以当我的 Spring Boot 应用程序启动时,它会根据属性文件创建所有 POST 端点,并使用第一个参数的名称(如“endpointOne”),然后调用(并返回结果)定义为第二个参数的存储过程(如“DBStoredProcedure1”)。

有可能吗?

最佳答案

是的,你可以。虽然与您现在尝试做的有点不同。

最好是使用“PathVariable”——你可以在这里找到详细信息:

https://spring.io/guides/tutorials/bookmarks/

http://javabeat.net/spring-mvc-requestparam-pathvariable/

您在 Controller 类中的方法看起来像这样:

 @RequestMapping(value="/{endPoint}", method=RequestMethod.POST)
public String endPoint(@PathVariable String endPoint) {
//Your endPoint is now the one what the user would like to reach
//So you check if your property file contains this String - better to cache it's content
//If it does, you call the service with the regarding Stored Procedure.
String sPName = prop.getSPName(endPoint); //You need to implement it.
String answer = yourService.execute(sPName);
return answer;
}

显然,您需要实现一种方法来处理那些在属性文件中找不到的查询,但您明白了。

关于java - Spring boot能否根据property文件的内容动态创建端点?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/41360048/

24 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com