netflix-zuul - 内容类型为multipart/form-data时spring cloud zuul如何获取请求参数?
问题描述
我需要将文件上传zuul
到我的应用程序,内容类型是 multipart/form-data,但我在请求中有一些其他参数。
那么如何获取中的参数zuul
呢?
我想获取令牌以检查请求是否有效。
我试过"request.getParameter("token");"
了,但它不起作用。
解决方案
如果你request
通过
RequestContext ctx = RequestContext.getCurrentContext();
HttpServletRequest request = context.getRequest();
调用request.getParameter("token");
它不返回任何有效值
这可能会解决这个问题
HttpServletRequestWrapper httpServletRequestWrapper = (HttpServletRequestWrapper) request;
String token = httpServletRequestWrapper.getRequest().getParameter("token");
ps:
我建议你在获取值之前先检查请求类型。通过这种方式
String requestType = request.getContentType().split(";")[0];
if(MediaType.MULTIPART_FORM_DATA_VALUE.equls(requestType)){
HttpServletRequestWrapper httpServletRequestWrapper = (HttpServletRequestWrapper) request;
token = httpServletRequestWrapper.getRequest().getParameter("token");
}
推荐阅读
- mysql - SQL - 使用另一个表中的值和合法格式检查约束
- php - SQL查询转换为laravel
- google-cloud-platform - 如何增加 Google Analytics 中的“每用户帐户数限制”?
- c++ - 类模板名称中的隐藏朋友与内联命名空间中的另一个符号冲突
- python - 根据R中的特定列值提取行
- angular - 如何通过rxjs从对象数组中过滤出元素数组
- dictionary - 我可以使用 defer 删除地图的元素吗?
- javascript - Axios mock - 多个嵌套的 axios 请求 - 问题以及如何测试它?
- python - QhullError:QH6154 Qhull 精度错误:初始单纯形是平坦的(面 1 与内点共面)
- neo4j - Neo4j:标签传播算法(LPA)结果中迭代的含义