2013-09-05 3 views
0

Я использую RestTemplate, но когда я называю postFor функции я получаю следующее исключение Ниже приведен код, показывающий детали:HTTP Status 500 - org.springframework.web.client.HttpClientErrorException: 404/

контроллер код

@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(); 

пожалуйста скажите, если любой знает это. Thanks

+0

Мне не хватает web.xml. Не могли бы вы добавить его? – Avi

ответ

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();