@Request 参数截断



我正在尝试通过Id从MongoDB中删除文档,Id是一个"Sting url":'

@Document(collection="Topic")
public class Topic {    
@Id
private String url;`

问题是当我尝试删除时:'

@GetMapping("/deletetopic")
public String deleteTopic(@RequestParam String id, Model model) {
topicServic.deleteTopic(id);
model.addAttribute("topics", topicServic.getAllTopics());
return "/bonjour";`

来自我的 JSP/bonjour : '

<td><a href="deletetopic?id=${topic.url}"><span class="glyphicon glyphicon-
trash"></span></a></td>`

"@RequesParam Strin id"不包含所有 URL.. 知道 url 太长,我只得到前 31 个字符;

示例:网址 ID :"https://www.google.com/url?sa=t&rct=j&q=&esrc=s&source=web&cd=5&ved=0ahUKEwjLiL2wz-PVAhWBahoKHUwKAQcQFghLMAQ&url=http%3A%2F%2Fdevlog.cnrs.fr%2F_media%2Fjdev2015%2Fjdev2015_t6_stephanederaco_springboot-0150703.pdf%3Fid%3Djdev2015%253At6.a07%26cache%3Dcache&usg=AFQjCNFC0lGyd-FSpcr7jwbToTs_EJLo">

如果我添加这个:System.out.println(id(;

@GetMapping("/deletetopic")
public String deleteTopic(@RequestParam String id, Model model) {
System.out.println(id);
topicServic.deleteTopic(id);
model.addAttribute("topics", topicServic.getAllTopics());
return "/bonjour";
}`

我只得到这个作为网址 id:https://www.google.com/url?sa=t 而且没有带有该 ID 的文档,因此不会发生任何事情

请问任何解决方案?! 感谢您的帮助:D

我怀疑它不会太短。String得到了,由于您的 URL 未编码,因此在特殊字符开始的地方被砍掉。一个类似的问题:如何在 Spring 的请求参数中发送特殊字符

最新更新