java-从MultiValueMap获取值
作者:互联网
我使用以下代码从HTTP请求获取值:
@PostMapping(consumes = MediaType.APPLICATION_FORM_URLENCODED_VALUE, value = "/v1/notification")
public ResponseEntity<String> handleNotifications(@RequestBody MultiValueMap<String, Object> keyValuePairs) {
LOGGER.debug("handleFormMessage");
LOGGER.debug("keyValuePairs: {}", keyValuePairs);
String unique_id = String.valueOf(keyValuePairs.get("unique_id"));
System.out.println("!!!!!!!!!!!!!! ! unique_id " + unique_id);
}
但是我得到这个值:!!!!!!!!!!!!!! ! unique_id [24q376c3ts2kh3o3220rry322dfe2k7y].
有没有一种方法可以在没有经典String结果= str.substring(0,index)str.substring(index 1);的情况下从字符串中删除[]?
有没有办法获得价值?
我用它来发布值:
解决方法:
如果您始终只为unique_id提供一个值,则可以使用getFirst
而不是get来代替
Returns the first value for the given key
您的代码将如下所示:
String unique_id = String.valueOf(keyValuePairs.getFirst("unique_id"));
请记住,此方法实际上返回指定键的第一个值;如果找不到,则返回null.
如果您发送多个值,则需要将它们视为Collection.例如:
Collection<String> unique_ids = keyValuePairs.get("unique_id");
之后,您可以根据需要处理所有id,例如,打印它们:
unique_ids.stream().forEach(System.out:println);
标签:spring-rest,spring-boot,spring-restcontroller,java 来源: https://codeday.me/bug/20191108/2005654.html