How to send a getForObject request with parameters Spring MVC

后端 未结 2 680
臣服心动
臣服心动 2021-02-19 06:47

I have a method on the Server side which gives me information about an specific name registered in my database. I\'m accessing it from my Android application.

The reque

2条回答
  •  礼貌的吻别
    2021-02-19 07:42

    The rest template is expecting a variable "{name}" to be in there for it to replace.

    What I think you're looking to do is build a URL with query parameters you have one of two options:

    1. Use a UriComponentsBuilder and add the parameters by that
    2. String url = BASE_URL + "/android/played.json?name={name}"

    Option 1 is much more flexible though. Option 2 is more direct if you just need to get this done.

    Example as requested

    // Assuming BASE_URL is just a host url like http://www.somehost.com/
    URI targetUrl= UriComponentsBuilder.fromUriString(BASE_URL)  // Build the base link
        .path("/android/played.json")                            // Add path
        .queryParam("name", nome)                                // Add one or more query params
        .build()                                                 // Build the URL
        .encode()                                                // Encode any URI items that need to be encoded
        .toUri();                                                // Convert to URI
    
    return restTemplate.getForObject(targetUrl, Name.class);
    

提交回复
热议问题