Warning: file_get_contents(/data/phpspider/zhask/data//catemap/9/java/310.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
Java 从多值映射中获取值_Java_Spring Boot_Spring Restcontroller_Spring Rest - Fatal编程技术网

Java 从多值映射中获取值

Java 从多值映射中获取值,java,spring-boot,spring-restcontroller,spring-rest,Java,Spring Boot,Spring Restcontroller,Spring Rest,我使用以下代码从HTTP请求获取值: @PostMapping(consumes = MediaType.APPLICATION_FORM_URLENCODED_VALUE, value = "/v1/notification") public ResponseEntity<String> handleNotifications(@RequestBody MultiValueMap<String, Object> keyValuePairs) { LOGGE

我使用以下代码从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);
}
@PostMapping(consumes=MediaType.APPLICATION\u FORM\u URLENCODED\u VALUE,VALUE=“/v1/notification”)
公共响应句柄通知(@RequestBody多值映射keyValuePairs){
LOGGER.debug(“handleFormMessage”);
debug(“keyValuePairs:{}”,keyValuePairs);
String unique_id=String.valueOf(keyValuePairs.get(“unique_id”));
System.out.println(“!!!!!!!!!!!!!!!!!!!!!!唯一id”+唯一id);
}
但是我得到了这个值:
!唯一的\u id[24q376c3ts2kh3o3220rry322dfe2k7y]

有没有一种方法可以在没有经典的
字符串结果=str.substring(0,index)+str.substring(index+1)的情况下从字符串中删除
[]

有没有办法得到这些值

我用它来发布值:


如果总是为
唯一id
只提供一个值,则可以使用

返回给定键的第一个值

您的代码如下所示:

String unique_id = String.valueOf(keyValuePairs.getFirst("unique_id"));
请记住,此方法实际上返回指定键的第一个值,如果未找到,则返回
null


如果您发送了多个值,则需要将它们视为一个值。例如:

Collection<String> unique_ids = keyValuePairs.get("unique_id");

MultivaluedMap是一个继承映射的接口,您可以通过列表查看得到的对象

public interface MultivaluedMap<K,V> extends Map<K,List<V>>

您是否将
unique\u id
作为呼叫此端点的列表提供?否,如果我发送两次unique\u id密钥,我会将其作为
application/x-www-form-urlencoded
发送?我能做些什么来防止代码问题?
public interface MultivaluedMap<K,V> extends Map<K,List<V>>
String unique_id = String.valueOf(keyValuePairs.getFirst("unique_id"));