【问题标题】:Authentication for POST REST API with spring restTemplate使用 spring restTemplate 对 POST REST API 进行身份验证
【发布时间】:2017-05-26 17:46:11
【问题描述】:

我想使用 Spring RESTTemplate 将 Object 发布到 Web 服务器并取回一个。

代码如下:

String authStringEncoded = 
                Base64.getEncoder().encodeToString
                    ("582f3e4a9e933168ea1048e6:98c6f2736c5f02279d767ce7ddfe7e5d".getBytes("utf-8"));


        HttpHeaders headers = new HttpHeaders();
        headers.add("Authorization", "Basic " + authStringEncoded);


        HttpEntity<String> request = new HttpEntity<String>(headers);

        RestTemplate rt = new RestTemplate();
        rt.getMessageConverters().add(new MappingJackson2HttpMessageConverter());
        rt.getMessageConverters().add(new StringHttpMessageConverter());
        String uri = new String(REGISTERING_NEW_DEVICES.replace("{devicetype-id}", KIT_TYPE_ID));


        TdkDevice deviceC3DF86B = new TdkDevice();
        deviceC3DF86B.setId("C3DF86B");
        deviceC3DF86B.setPal("44CFFFC9D5F8E8B2F36");

        DeviceRegistration deviceRegistration = new  DeviceRegistration();
        deviceRegistration.getIds().add(deviceC3DF86B);

        rt.postForObject(uri, HttpMethod.POST, request, deviceRegistration, DeviceRegistration.class);

但是我得到一个编译错误:

The method postForObject(String, Object, Class<T>, Object...) in the type RestTemplate is not applicable for the arguments (String, HttpMethod, HttpEntity<String>, DeviceRegistration, 
 Class<DeviceRegistration>)

【问题讨论】:

    标签: spring rest spring-mvc spring-boot restful-architecture


    【解决方案1】:

    您的服务调用应如下所示:

    rt.postForObject(uri, request, DeviceRegistration.class);
    

    根据spring RestTemplate api,postForObject 方法的参数应该如下:

    参数:

    • url - 网址
    • request - 要发布的对象(可能为 null)
    • responseType - 返回值的类型
    • uriVariables - 扩展模板的变量

    API Reference

    【讨论】:

      猜你喜欢
      • 2014-03-22
      • 1970-01-01
      • 1970-01-01
      • 2018-09-11
      • 1970-01-01
      • 1970-01-01
      • 2013-01-05
      • 2018-08-27
      • 1970-01-01
      相关资源
      最近更新 更多