怎么在SpringMVC中使用@PathVariable对路由中的数组进行绑定

2023-06-05,

怎么在SpringMVC中使用@PathVariable对路由中的数组进行绑定?相信很多没有经验的人对此束手无策,为此本文总结了问题出现的原因和解决方法,通过这篇文章希望你能解决这个问题。

后台:

前台:

后台以@RequestBody接收一个数组,但是前台需要发送一个request请求, 传入请求方法的类型delete, 并且传入一个body, 但在写华软项目时, 张喜硕组长看到,说这样写并不好,要在url中绑定一个数组,在前台以逗号隔开。

delete方法是不建议传输实体的主体

delete请求用于请求服务器删除所请求URI(统一资源标识符,Uniform Resource Identifier)所标识的资源。DELETE请求后指定资源会被删除

该如何解决呢?如何在url绑定数组呢?

解决方法

后台:

 @DeleteMapping("{clusterNodeId}/hosts/{hostsId}")
 public void deleteClusterNodeByHostList(@PathVariable Long clusterNodeId, @PathVariable Long[] hostsId) {
  clusterNodeService.deleteClusterNodeByHostList(clusterNodeId, hostsId);
 }

url 接收一个数组,使用@PathVariable绑定这个数组

前台:

public deleteClusterNodeByHostList(
  clusterNodeId: number,
  hostsId: any[]): Observable<ClusterNode> {
  return this.http.delete(`${this.baseUrl}/${clusterNodeId.toString()}/hosts/${hostsId.join(',')}`);
 }

使用join 对数组进行处理,以逗号的形式隔开,传给后台

url:

后台接收:

看完上述内容,你们掌握怎么在SpringMVC中使用@PathVariable对路由中的数组进行绑定的方法了吗?如果还想学到更多技能或想了解更多相关内容,欢迎关注本站行业资讯频道,感谢各位的阅读!

《怎么在SpringMVC中使用@PathVariable对路由中的数组进行绑定.doc》

下载本文的Word格式文档,以方便收藏与打印。