RestTemplateでよく使用されるgetとpostバンドパラメータリクエスト

4796 ワード

テストコントロール
import com.alibaba.fastjson.JSONObject;
import org.springframework.stereotype.Controller;
import org.springframework.web.bind.annotation.RequestMapping;
import org.springframework.web.bind.annotation.RequestParam;
import org.springframework.web.bind.annotation.ResponseBody;

import java.util.Map;

@Controller
public class TestController {

    @RequestMapping(value = "/test")
    @ResponseBody
    public JSONObject test(@RequestParam Map paraMap) {
        JSONObject obj = new JSONObject();
        String strs = (String) paraMap.get("strs");
        obj.put("strs",strs);
        obj.put("success",true);
        return obj;
    }
}

getリクエストにパラメータなし
public static void main(String[] args) {
        RestTemplate restTemplate = new RestTemplate();
        Map map = new HashMap();
        map.put("strs","hello");
        String res = restTemplate.getForObject("http://localhost:8080/test",String.class);
        System.out.println(res);
    }

 
getリクエストバンドパラメータ
public static void main(String[] args) {
        RestTemplate restTemplate = new RestTemplate();
        Map map = new HashMap();
        map.put("strs","hello");
        String res = restTemplate.getForObject("http://localhost:8080/test?strs={strs}",String.class,map);
        System.out.println(res);
    }

post要求パラメータなし
public static void main(String[] args) {
        RestTemplate restTemplate = new RestTemplate();
        String res = restTemplate.postForObject("http://localhost:8080/test",null,String.class);
        System.out.println(res);
    }

 
post要求帯域パラメータ
public static void main(String[] args) {
        RestTemplate restTemplate = new RestTemplate();
        MultiValueMap map = new LinkedMultiValueMap();
        map.add("strs", "hello");
        String result = restTemplate.postForObject("http://localhost:8080/test", map, String.class);
        System.out.println(result);
    }

 
転載先:https://www.cnblogs.com/xiaofengfree/p/11069099.html