java application 存取值_java-从MultiValueMap获取值

我使用以下代码从HTTP请求获取值:

@PostMapping(consumes = MediaType.APPLICATION_FORM_URLENCODED_VALUE, value = "/v1/notification")

public ResponseEntity handleNotifications(@RequestBody MultiValueMap 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);的情况下从字符串中删除[]?

有没有办法获得价值?

我用它来发布值:

HFut9.png

解决方法:

如果您始终只为unique_id提供一个值,则可以使用getFirst而不是get来代替

Returns the first value for the given key

您的代码将如下所示:

String unique_id = String.valueOf(keyValuePairs.getFirst("unique_id"));

请记住,此方法实际上返回指定键的第一个值;如果找不到,则返回null.

如果您发送多个值,则需要将它们视为Collection.例如:

Collection 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

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值