如何通过弹簧休息模板对原始数据发布请求

时间:2018-05-04 09:28:00

标签: java api spring-boot heap-analytics

有人可以告诉我如何使用原始数据参数发送POST请求,如下图所示 enter image description here

我尝试了以下代码,但它无法正常工作

HttpHeaders headers = new HttpHeaders();
                headers.setContentType(MediaType.APPLICATION_JSON);
            JsonObject properties = new JsonObject();
            MultiValueMap<String, String> params = new LinkedMultiValueMap<>();         
            try {

                properties.addProperty("app_id", appId);
                properties.addProperty("identity","TestAPI");
                properties.addProperty("event", "TestCompleted");
                properties.addProperty("testType", t.getTestType());
                properties.addProperty("testName",t.getTestName());
                properties.addProperty("chapter","");
                properties.addProperty("module","");
                properties.addProperty("pattern",t.getTestPattern());
                HttpEntity<String> request = new HttpEntity<>(
                        properties.toString(), headers);
               // params.add("properties", properties.toString());
                 restTemplate.postForObject(url, request, String.class);

有人可以帮忙吗?

3 个答案:

答案 0 :(得分:1)

试试这个:

@RestController
public class SampleController { 
    @RequestMapping("/req")
    public String performReqest(){
        HttpHeaders headers = new HttpHeaders();
        headers.setContentType(MediaType.APPLICATION_JSON);        
        JsonObject properties = new JsonObject();
        properties.addProperty("no", "123");
        properties.addProperty("name", "stackoverflow");
        HttpEntity<String> request = new HttpEntity<>(properties.toString(), headers);
        RestTemplate restTemplate = new RestTemplate();
        String response = restTemplate.postForObject("http://localhost:4040/student", request, String.class);
        return "Response from Server is : "+response;       
    }

    @RequestMapping("/student")
    public String consumeStudent(@RequestBody Student student){
        System.out.println(student);
        return "Hello.."+student.name;
    }   
}

class Student{
    public int no;
    public String name; 
    public Map<String,String> properties;   
}

不要忘记移动Student课程,并将所有字段更改为private,但需要获取getter和setter。 以上代码仅用于演示目的。

答案 1 :(得分:0)

请试试这个:

var array:[Any] = ["a", "b", 1, "c"]
let element = array.popFirstElementWith { (element) -> (Bool) in
    return element is Int
}
print(element!)
print(array)

答案 2 :(得分:0)

您是否尝试过使用postmaster并先检查输出。如果它的工作,那么你可以去邮政或交换方法。交换回报并发布不。