0

RestTemplate を使用していますが、postFor 関数を呼び出すと、次の例外が発生します。詳細を表示するためのコードは次のとおりです。

コントローラ

@Controller
@RequestMapping("/data")
public class DataController {

    @RequestMapping(value = "/{id}", method = RequestMethod.POST)
    public ResponseEntity<ManagementResource> postData(@PathVariable("id") String id,@RequestBody Data1 data) {
        RSResponse<Data1> response = new RSResponse<Data1>();
        response.setStatus(RSResponse.Status.SUCCESS);
        response.setData(data);
        return new ResponseEntity<ManagementResource>(HttpStatus.CREATED);
    }
}

クライアントコード:

RestTemplate rt = new RestTemplate();
        Data1 d = new Data1();

        d.setEmp_id(1);
        d.setEmp_name("abc");
        d.setEmp_salary(10000);

        Map<String, String> vars = new HashMap<String, String>();
        vars.put("id", "JS01");
        String url = "http://localhost:8090/JSFFaceletsTutorial/data/{id}";

        ResponseEntity<Data1> response = rt.postForEntity(url,d,Data1.class,vars);
        Data1 data = response.getBody();

知っている人は教えてください。ありがとう

4

1 に答える 1

0

サービスにヘッダーが必要ですか? もしそうなら、あなたはこのように渡すことができます、

MultiValueMap<String, String> headers = new LinkedMultiValueMap<String, String>();
headers.add("Accept", "application/json");
HttpEntity<Data1> request = new HttpEntity<Data1>(d, headers);

ResponseEntity<Data1> response = rt.postForEntity(url,request,Data1.class,vars);
Data1 data = response.getBody();
于 2013-09-11T13:07:35.607 に答える