java - 如何制作一个 Controller 来使用HashMap获取URL?

标签 java spring-boot spring-mvc controller

我需要在 Spring Boot 2.0 中创建一个 Controller 才能正确获取如下 URL:

https://localhost:8443/my_generate_signature?data%5Btimestamp%5D=1570074358&data%5Bsource%5D=uw

此 URL 正在由 AJAX 请求调用:

<script type="text/javascript">
var generateSignature = 
function(callback, params_to_sign){
$.ajax({
url     : "/my_generate_signature",
type    : "GET",
dataType: "text",
data    : { data: params_to_sign},
complete: function() {console.log("complete")},
success : function(signature, textStatus, xhr) { callback(signature); },
error   : function(xhr, status, error) { console.log(xhr, status, error); }
});
}
</script>
<script type="text/javascript">  
  $('#upload_widget_opener').cloudinary_upload_widget({ 
    cloudName: cloudName, apiKey: api_key,
    cropping: true, uploadSignature: generateSignature}, (error, result) => { });
</script>

作为引用,我正在尝试实现这个:

https://cloudinary.com/documentation/upload_widget#create_upload_widget_methods

我尝试过这样的 Controller ,但我得到 HttpStatus 400:

@RequestMapping(value="/my_generate_signature")
@ResponseBody
public String generateSignature(@RequestParam(value="params_to_sign", required=true) Map<String, Object> paramsToSign) {

return 'test';
}

最佳答案

您还可以使用发布请求并使用请求正文。 @PostMapping @ResponseBody 公共(public)字符串generateSignature(@RequestBody Map> paramsToSign){ 返回 ”....”; }

如果是get请求,可以使用@GetMapping和@RequestParam注解。

关于java - 如何制作一个 Controller 来使用HashMap获取URL?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/58212219/

相关文章:

java - 如何在 neo4j 中使用条件匹配

java - 无法在 Spring Boot 应用程序中访问和使用静态资源

java - 取消选中复选框时,出现错误必需的长[]参数 'checked'不存在

java - 如何使用 Spring MVC Controller 返回 html 文件

java - 使用 Java 读取 PATH 变量(在 Mac OS X 上的 Eclipse 中)与 shell 不同

java - 如何使@Lob注解兼容oracle和postgresql

java - 使用 Spring Boot 将 QR 码创建为 Base64 字符串

java - Spring Boot 不为 ZonedDateTime 使用自定义反序列化器

java - Mysql DB select from table where字段语句java

java - java中如何从同一个类中的另一个方法调用一个方法