spring-boot - 如何在 Spring Boot 中将带有斜杠的参数传递到存储库
问题描述
在控制器中:
@GetMapping("/attendance/update")
public String updateAttendance(@RequestParam("caseId") String caseId) {
// Pass the case ID "ABCD/EF/01" (with splash)
在存储库中:
@Query(value="SELECT personSN FROM Scheme WHERE serialNo = ':caseId'", nativeQuery=true)
String getpersonSN(@Param("caseId") String caseId);
应用属性:
org.apache.tomcat.util.buf.UDecoder.ALLOW_ENCODED_SLASH=true
SQL 服务器正在使用。
我遇到了参数无法传递到存储库(:caseId)的问题。不能传递任何值。
我可以知道如何解决吗?
解决方案
M. Deinum 是对的。删除 :caseId 周围的 ''
@Query(value="SELECT personSN FROM Scheme WHERE serialNo = :caseId", nativeQuery=true)
String getpersonSN(@Param("caseId") String caseId);
推荐阅读
- sh - 如何在命令行上从 PGP 密钥中提取图像?
- android - 从画中画窗口中打开的通知启动 Intent
- c - 如何使用 select() 进行非阻塞聊天?
- data-structures - 压缩循环数据?
- ruby-on-rails - 你把 ActiveRecord 回调类放在哪里?
- asp.net-core - 使用 ASP.NET Core 2 身份验证时如何获取 LoginPath?
- ios - 在objectiveC中获取和设置NSUserActivity
- javascript - .toLowerCase() of undefined 在后台静默失败 - 但代码仍然可以正常工作
- string - Netlogo:如何从文本字符串中制作单个字符的列表?
- excel - Excel VBA:如何返回给定单元格的列号