面对在前端JavaSpringMVC中创建请求对象的困难,需要将以下.NET-MVC代码复制到Java中

面对在前端JavaSpringMVC中创建请求对象的困难,需要将以下.NET-MVC代码复制到Java中,java,spring,web-services,spring-mvc,frontend,Java,Spring,Web Services,Spring Mvc,Frontend,我正在使用JavaSpringMVC开发一个前端应用程序,但是我在创建用于访问Web服务的请求对象时遇到了困难,正如我在.NETMVC中所做的那样。有人能告诉我下面给定代码的Java等效类和方法吗 我需要将这两种方法从.NETMVC复制到Java 第一种方法: private HttpWebRequest RequestObj { get; set; } public Stream DataStreamObj { get; set; } private RequestMo

我正在使用JavaSpringMVC开发一个前端应用程序,但是我在创建用于访问Web服务的请求对象时遇到了困难,正如我在.NETMVC中所做的那样。有人能告诉我下面给定代码的Java等效类和方法吗

我需要将这两种方法从.NETMVC复制到Java

第一种方法:

    private HttpWebRequest RequestObj { get; set; }
    public Stream DataStreamObj { get; set; }
    private RequestModel RequestModelObj { get; set;         

    public RequestGenerator(String WebserviceUrl)
    {
        RequestObj = (HttpWebRequest)WebRequest.Create(WebConfigurationManager.AppSettings["WebServiceURL"] + WebserviceUrl);
        RequestObj.Method = "POST";GenerateLoginRequest
        RequestObj.ContentType = "application/json";

        RequestModelObj = new RequestModel();
        RequestModelObj.ApiKey = WebConfigurationManager.AppSettings["apiKey"];
        RequestModelObj.DeviceId = Constant.AppConstants.ONE;

    }
第二种方法:

    private string CallWebservice(Dictionary<String, Object> RequestDict)
    {
        try
        {
        HttpWebRequest Request = (HttpWebRequest)RequestDict["request"];
            RequestModel RequestModel = (RequestModel)RequestDict["requestData"];

            //Tell them the length of content
            string Json = JsonConvert.SerializeObject(RequestModel);
            byte[] ByteArray = Encoding.UTF8.GetBytes(Json);

            Request.ContentLength = ByteArray.Length;

            //Write content on stream
            Stream DataStream = Request.GetRequestStream();
            DataStream.Write(ByteArray, 0, ByteArray.Length);
            DataStream.Close();

            //Initiate Call
            HttpWebResponse Response = GetWebResponse(Request);
            DataStream = Response.GetResponseStream();

            StreamReader Reader = new StreamReader(DataStream);
            // Read the content.
            string responseFromServer = Reader.ReadToEnd();
            // Display the content.

            Reader.Close();
            Response.Close();
            return responseFromServer;
        }
        catch (System.Net.WebException ex)
        {
            var response = ex.Response as HttpWebResponse;
            return "";

        }  
    }
私有字符串CallWebservice(Dictionary RequestDict)
{
尝试
{
HttpWebRequest请求=(HttpWebRequest)RequestDict[“请求”];
RequestModel RequestModel=(RequestModel)RequestDict[“requestData”];
//告诉他们内容的长度
字符串Json=JsonConvert.SerializeObject(RequestModel);
byte[]ByteArray=Encoding.UTF8.GetBytes(Json);
Request.ContentLength=ByteArray.Length;
//在流媒体上写内容
Stream DataStream=Request.GetRequestStream();
写入(ByteArray,0,ByteArray.Length);
DataStream.Close();
//发起呼叫
HttpWebResponse=GetWebResponse(请求);
DataStream=Response.GetResponseStream();
StreamReader=新的StreamReader(数据流);
//阅读内容。
字符串responseFromServer=Reader.ReadToEnd();
//显示内容。
Reader.Close();
Response.Close();
返回responseFromServer;
}
捕获(System.Net.WebException-ex)
{
var响应=作为HttpWebResponse的响应;
返回“”;
}  
}

RestTemplate类是为调用REST服务而设计的,它的主要方法与REST的基础紧密相连,这也就不足为奇了,REST的基础是HTTP协议的方法:HEAD、GET、POST、PUT、DELETE和OPTIONS。例如,它的方法有headForHeaders()、getForObject()、postForObject()、put()和delete()等

阅读更多信息和源代码:SpringRESTJSON示例 HTTP GET方法示例

1) 以字符串格式获取employees集合的XML表示形式

RESTAPI代码

@RequestMapping(value = "/employees", produces = 
MediaType.APPLICATION_XML_VALUE, method = RequestMethod.GET)
public String getAllEmployeesXML(Model model) 
{
model.addAttribute("employees", getEmployeesCollection());
return "xmlTemplate";
}
@RequestMapping(value = "/employees", produces = 
MediaType.APPLICATION_JSON_VALUE,  method = RequestMethod.GET)
public String getAllEmployeesJSON(Model model) 
{
model.addAttribute("employees", getEmployeesCollection());
return "jsonTemplate";
}
@RequestMapping(value = "/employees", produces = 
MediaType.APPLICATION_JSON_VALUE,  method = RequestMethod.GET)
public String getAllEmployeesJSON(Model model) 
{
model.addAttribute("employees", getEmployeesCollection());
return "jsonTemplate";
}
@RequestMapping(value = "/employees", produces = 
MediaType.APPLICATION_XML_VALUE, method = RequestMethod.GET)
public String getAllEmployeesXML(Model model) 
{
model.addAttribute("employees", getEmployeesCollection());
return "xmlTemplate";
}
@RequestMapping(value = "/employees/{id}")
public ResponseEntity<EmployeeVO> getEmployeeById (@PathVariable("id") 
int id) 
{
if (id <= 3) {
    EmployeeVO employee = new 
EmployeeVO(1,"Lokesh","Gupta","howtodoinjava@gmail.com");
    return new ResponseEntity<EmployeeVO>(employee, HttpStatus.OK);
}
return new ResponseEntity(HttpStatus.NOT_FOUND);
}
@RequestMapping(value = "/employees", method = RequestMethod.POST)
public ResponseEntity<String> createEmployee(@RequestBody EmployeeVO 
employee) 
{
System.out.println(employee);
return new ResponseEntity(HttpStatus.CREATED);
}
@RequestMapping(value = "/employees/{id}", method = RequestMethod.PUT)
public ResponseEntity<EmployeeVO> updateEmployee(@PathVariable("id") 
int id, @RequestBody EmployeeVO employee) 
{
System.out.println(id);
System.out.println(employee);
return new ResponseEntity<EmployeeVO>(employee, HttpStatus.OK);
}
@RequestMapping(value = "/employees/{id}", method = 
RequestMethod.DELETE)
public ResponseEntity<String> updateEmployee(@PathVariable("id") int 
id) 
{
System.out.println(id);
return new ResponseEntity(HttpStatus.OK);
}
REST客户端代码

private static void getEmployees()
{
final String uri = 
"http://localhost:8080/springrestexample/employees.xml";

RestTemplate restTemplate = new RestTemplate();
String result = restTemplate.getForObject(uri, String.class);

System.out.println(result);
}
private static void getEmployees()
{
final String uri = 
"http://localhost:8080/springrestexample/employees.json";

RestTemplate restTemplate = new RestTemplate();
String result = restTemplate.getForObject(uri, String.class);

System.out.println(result);
}
private static void getEmployees()
{
final String uri = "http://localhost:8080/springrestexample/employees";

RestTemplate restTemplate = new RestTemplate();

HttpHeaders headers = new HttpHeaders();
headers.setAccept(Arrays.asList(MediaType.APPLICATION_JSON));
HttpEntity<String> entity = new HttpEntity<String>("parameters", 
headers);

ResponseEntity<String> result = restTemplate.exchange(uri, 
HttpMethod.GET, entity, String.class);

System.out.println(result);
}
private static void getEmployees()
{
final String uri = "http://localhost:8080/springrestexample/employees";
RestTemplate restTemplate = new RestTemplate();

EmployeeListVO result = restTemplate.getForObject(uri, 
EmployeeListVO.class);

System.out.println(result);
private static void getEmployeeById()
{
final String uri = 
"http://localhost:8080/springrestexample/employees/{id}";

Map<String, String> params = new HashMap<String, String>();
params.put("id", "1");

RestTemplate restTemplate = new RestTemplate();
EmployeeVO result = restTemplate.getForObject(uri, EmployeeVO.class, 
params);

System.out.println(result);
}
private static void createEmployee()
{
final String uri = "http://localhost:8080/springrestexample/employees";

EmployeeVO newEmployee = new EmployeeVO(-1, "Adam", "Gilly", 
"test@email.com");

RestTemplate restTemplate = new RestTemplate();
EmployeeVO result = restTemplate.postForObject( uri, newEmployee, 
EmployeeVO.class);

System.out.println(result);
}
private static void deleteEmployee()
{
final String uri = 
"http://localhost:8080/springrestexample/employees/{id}";

Map<String, String> params = new HashMap<String, String>();
params.put("id", "2");

EmployeeVO updatedEmployee = new EmployeeVO(2, "New Name", "Gilly", 
"test@email.com");

RestTemplate restTemplate = new RestTemplate();
restTemplate.put ( uri, updatedEmployee, params);
}
private static void deleteEmployee()
{
final String uri = 
"http://localhost:8080/springrestexample/employees/{id}";

Map<String, String> params = new HashMap<String, String>();
params.put("id", "2");

RestTemplate restTemplate = new RestTemplate();
restTemplate.delete ( uri,  params );
}
2) 以字符串格式获取employees集合的JSON表示形式

RESTAPI代码

@RequestMapping(value = "/employees", produces = 
MediaType.APPLICATION_XML_VALUE, method = RequestMethod.GET)
public String getAllEmployeesXML(Model model) 
{
model.addAttribute("employees", getEmployeesCollection());
return "xmlTemplate";
}
@RequestMapping(value = "/employees", produces = 
MediaType.APPLICATION_JSON_VALUE,  method = RequestMethod.GET)
public String getAllEmployeesJSON(Model model) 
{
model.addAttribute("employees", getEmployeesCollection());
return "jsonTemplate";
}
@RequestMapping(value = "/employees", produces = 
MediaType.APPLICATION_JSON_VALUE,  method = RequestMethod.GET)
public String getAllEmployeesJSON(Model model) 
{
model.addAttribute("employees", getEmployeesCollection());
return "jsonTemplate";
}
@RequestMapping(value = "/employees", produces = 
MediaType.APPLICATION_XML_VALUE, method = RequestMethod.GET)
public String getAllEmployeesXML(Model model) 
{
model.addAttribute("employees", getEmployeesCollection());
return "xmlTemplate";
}
@RequestMapping(value = "/employees/{id}")
public ResponseEntity<EmployeeVO> getEmployeeById (@PathVariable("id") 
int id) 
{
if (id <= 3) {
    EmployeeVO employee = new 
EmployeeVO(1,"Lokesh","Gupta","howtodoinjava@gmail.com");
    return new ResponseEntity<EmployeeVO>(employee, HttpStatus.OK);
}
return new ResponseEntity(HttpStatus.NOT_FOUND);
}
@RequestMapping(value = "/employees", method = RequestMethod.POST)
public ResponseEntity<String> createEmployee(@RequestBody EmployeeVO 
employee) 
{
System.out.println(employee);
return new ResponseEntity(HttpStatus.CREATED);
}
@RequestMapping(value = "/employees/{id}", method = RequestMethod.PUT)
public ResponseEntity<EmployeeVO> updateEmployee(@PathVariable("id") 
int id, @RequestBody EmployeeVO employee) 
{
System.out.println(id);
System.out.println(employee);
return new ResponseEntity<EmployeeVO>(employee, HttpStatus.OK);
}
@RequestMapping(value = "/employees/{id}", method = 
RequestMethod.DELETE)
public ResponseEntity<String> updateEmployee(@PathVariable("id") int 
id) 
{
System.out.println(id);
return new ResponseEntity(HttpStatus.OK);
}
REST客户端代码

private static void getEmployees()
{
final String uri = 
"http://localhost:8080/springrestexample/employees.xml";

RestTemplate restTemplate = new RestTemplate();
String result = restTemplate.getForObject(uri, String.class);

System.out.println(result);
}
private static void getEmployees()
{
final String uri = 
"http://localhost:8080/springrestexample/employees.json";

RestTemplate restTemplate = new RestTemplate();
String result = restTemplate.getForObject(uri, String.class);

System.out.println(result);
}
private static void getEmployees()
{
final String uri = "http://localhost:8080/springrestexample/employees";

RestTemplate restTemplate = new RestTemplate();

HttpHeaders headers = new HttpHeaders();
headers.setAccept(Arrays.asList(MediaType.APPLICATION_JSON));
HttpEntity<String> entity = new HttpEntity<String>("parameters", 
headers);

ResponseEntity<String> result = restTemplate.exchange(uri, 
HttpMethod.GET, entity, String.class);

System.out.println(result);
}
private static void getEmployees()
{
final String uri = "http://localhost:8080/springrestexample/employees";
RestTemplate restTemplate = new RestTemplate();

EmployeeListVO result = restTemplate.getForObject(uri, 
EmployeeListVO.class);

System.out.println(result);
private static void getEmployeeById()
{
final String uri = 
"http://localhost:8080/springrestexample/employees/{id}";

Map<String, String> params = new HashMap<String, String>();
params.put("id", "1");

RestTemplate restTemplate = new RestTemplate();
EmployeeVO result = restTemplate.getForObject(uri, EmployeeVO.class, 
params);

System.out.println(result);
}
private static void createEmployee()
{
final String uri = "http://localhost:8080/springrestexample/employees";

EmployeeVO newEmployee = new EmployeeVO(-1, "Adam", "Gilly", 
"test@email.com");

RestTemplate restTemplate = new RestTemplate();
EmployeeVO result = restTemplate.postForObject( uri, newEmployee, 
EmployeeVO.class);

System.out.println(result);
}
private static void deleteEmployee()
{
final String uri = 
"http://localhost:8080/springrestexample/employees/{id}";

Map<String, String> params = new HashMap<String, String>();
params.put("id", "2");

EmployeeVO updatedEmployee = new EmployeeVO(2, "New Name", "Gilly", 
"test@email.com");

RestTemplate restTemplate = new RestTemplate();
restTemplate.put ( uri, updatedEmployee, params);
}
private static void deleteEmployee()
{
final String uri = 
"http://localhost:8080/springrestexample/employees/{id}";

Map<String, String> params = new HashMap<String, String>();
params.put("id", "2");

RestTemplate restTemplate = new RestTemplate();
restTemplate.delete ( uri,  params );
}
3) 将自定义HTTP头与RestTemplate一起使用

RESTAPI代码

@RequestMapping(value = "/employees", produces = 
MediaType.APPLICATION_XML_VALUE, method = RequestMethod.GET)
public String getAllEmployeesXML(Model model) 
{
model.addAttribute("employees", getEmployeesCollection());
return "xmlTemplate";
}
@RequestMapping(value = "/employees", produces = 
MediaType.APPLICATION_JSON_VALUE,  method = RequestMethod.GET)
public String getAllEmployeesJSON(Model model) 
{
model.addAttribute("employees", getEmployeesCollection());
return "jsonTemplate";
}
@RequestMapping(value = "/employees", produces = 
MediaType.APPLICATION_JSON_VALUE,  method = RequestMethod.GET)
public String getAllEmployeesJSON(Model model) 
{
model.addAttribute("employees", getEmployeesCollection());
return "jsonTemplate";
}
@RequestMapping(value = "/employees", produces = 
MediaType.APPLICATION_XML_VALUE, method = RequestMethod.GET)
public String getAllEmployeesXML(Model model) 
{
model.addAttribute("employees", getEmployeesCollection());
return "xmlTemplate";
}
@RequestMapping(value = "/employees/{id}")
public ResponseEntity<EmployeeVO> getEmployeeById (@PathVariable("id") 
int id) 
{
if (id <= 3) {
    EmployeeVO employee = new 
EmployeeVO(1,"Lokesh","Gupta","howtodoinjava@gmail.com");
    return new ResponseEntity<EmployeeVO>(employee, HttpStatus.OK);
}
return new ResponseEntity(HttpStatus.NOT_FOUND);
}
@RequestMapping(value = "/employees", method = RequestMethod.POST)
public ResponseEntity<String> createEmployee(@RequestBody EmployeeVO 
employee) 
{
System.out.println(employee);
return new ResponseEntity(HttpStatus.CREATED);
}
@RequestMapping(value = "/employees/{id}", method = RequestMethod.PUT)
public ResponseEntity<EmployeeVO> updateEmployee(@PathVariable("id") 
int id, @RequestBody EmployeeVO employee) 
{
System.out.println(id);
System.out.println(employee);
return new ResponseEntity<EmployeeVO>(employee, HttpStatus.OK);
}
@RequestMapping(value = "/employees/{id}", method = 
RequestMethod.DELETE)
public ResponseEntity<String> updateEmployee(@PathVariable("id") int 
id) 
{
System.out.println(id);
return new ResponseEntity(HttpStatus.OK);
}
REST客户端代码

private static void getEmployees()
{
final String uri = 
"http://localhost:8080/springrestexample/employees.xml";

RestTemplate restTemplate = new RestTemplate();
String result = restTemplate.getForObject(uri, String.class);

System.out.println(result);
}
private static void getEmployees()
{
final String uri = 
"http://localhost:8080/springrestexample/employees.json";

RestTemplate restTemplate = new RestTemplate();
String result = restTemplate.getForObject(uri, String.class);

System.out.println(result);
}
private static void getEmployees()
{
final String uri = "http://localhost:8080/springrestexample/employees";

RestTemplate restTemplate = new RestTemplate();

HttpHeaders headers = new HttpHeaders();
headers.setAccept(Arrays.asList(MediaType.APPLICATION_JSON));
HttpEntity<String> entity = new HttpEntity<String>("parameters", 
headers);

ResponseEntity<String> result = restTemplate.exchange(uri, 
HttpMethod.GET, entity, String.class);

System.out.println(result);
}
private static void getEmployees()
{
final String uri = "http://localhost:8080/springrestexample/employees";
RestTemplate restTemplate = new RestTemplate();

EmployeeListVO result = restTemplate.getForObject(uri, 
EmployeeListVO.class);

System.out.println(result);
private static void getEmployeeById()
{
final String uri = 
"http://localhost:8080/springrestexample/employees/{id}";

Map<String, String> params = new HashMap<String, String>();
params.put("id", "1");

RestTemplate restTemplate = new RestTemplate();
EmployeeVO result = restTemplate.getForObject(uri, EmployeeVO.class, 
params);

System.out.println(result);
}
private static void createEmployee()
{
final String uri = "http://localhost:8080/springrestexample/employees";

EmployeeVO newEmployee = new EmployeeVO(-1, "Adam", "Gilly", 
"test@email.com");

RestTemplate restTemplate = new RestTemplate();
EmployeeVO result = restTemplate.postForObject( uri, newEmployee, 
EmployeeVO.class);

System.out.println(result);
}
private static void deleteEmployee()
{
final String uri = 
"http://localhost:8080/springrestexample/employees/{id}";

Map<String, String> params = new HashMap<String, String>();
params.put("id", "2");

EmployeeVO updatedEmployee = new EmployeeVO(2, "New Name", "Gilly", 
"test@email.com");

RestTemplate restTemplate = new RestTemplate();
restTemplate.put ( uri, updatedEmployee, params);
}
private static void deleteEmployee()
{
final String uri = 
"http://localhost:8080/springrestexample/employees/{id}";

Map<String, String> params = new HashMap<String, String>();
params.put("id", "2");

RestTemplate restTemplate = new RestTemplate();
restTemplate.delete ( uri,  params );
}
REST客户端代码

private static void getEmployees()
{
final String uri = 
"http://localhost:8080/springrestexample/employees.xml";

RestTemplate restTemplate = new RestTemplate();
String result = restTemplate.getForObject(uri, String.class);

System.out.println(result);
}
private static void getEmployees()
{
final String uri = 
"http://localhost:8080/springrestexample/employees.json";

RestTemplate restTemplate = new RestTemplate();
String result = restTemplate.getForObject(uri, String.class);

System.out.println(result);
}
private static void getEmployees()
{
final String uri = "http://localhost:8080/springrestexample/employees";

RestTemplate restTemplate = new RestTemplate();

HttpHeaders headers = new HttpHeaders();
headers.setAccept(Arrays.asList(MediaType.APPLICATION_JSON));
HttpEntity<String> entity = new HttpEntity<String>("parameters", 
headers);

ResponseEntity<String> result = restTemplate.exchange(uri, 
HttpMethod.GET, entity, String.class);

System.out.println(result);
}
private static void getEmployees()
{
final String uri = "http://localhost:8080/springrestexample/employees";
RestTemplate restTemplate = new RestTemplate();

EmployeeListVO result = restTemplate.getForObject(uri, 
EmployeeListVO.class);

System.out.println(result);
private static void getEmployeeById()
{
final String uri = 
"http://localhost:8080/springrestexample/employees/{id}";

Map<String, String> params = new HashMap<String, String>();
params.put("id", "1");

RestTemplate restTemplate = new RestTemplate();
EmployeeVO result = restTemplate.getForObject(uri, EmployeeVO.class, 
params);

System.out.println(result);
}
private static void createEmployee()
{
final String uri = "http://localhost:8080/springrestexample/employees";

EmployeeVO newEmployee = new EmployeeVO(-1, "Adam", "Gilly", 
"test@email.com");

RestTemplate restTemplate = new RestTemplate();
EmployeeVO result = restTemplate.postForObject( uri, newEmployee, 
EmployeeVO.class);

System.out.println(result);
}
private static void deleteEmployee()
{
final String uri = 
"http://localhost:8080/springrestexample/employees/{id}";

Map<String, String> params = new HashMap<String, String>();
params.put("id", "2");

EmployeeVO updatedEmployee = new EmployeeVO(2, "New Name", "Gilly", 
"test@email.com");

RestTemplate restTemplate = new RestTemplate();
restTemplate.put ( uri, updatedEmployee, params);
}
private static void deleteEmployee()
{
final String uri = 
"http://localhost:8080/springrestexample/employees/{id}";

Map<String, String> params = new HashMap<String, String>();
params.put("id", "2");

RestTemplate restTemplate = new RestTemplate();
restTemplate.delete ( uri,  params );
}
}

5) 在URL中传递参数

RESTAPI代码

@RequestMapping(value = "/employees", produces = 
MediaType.APPLICATION_XML_VALUE, method = RequestMethod.GET)
public String getAllEmployeesXML(Model model) 
{
model.addAttribute("employees", getEmployeesCollection());
return "xmlTemplate";
}
@RequestMapping(value = "/employees", produces = 
MediaType.APPLICATION_JSON_VALUE,  method = RequestMethod.GET)
public String getAllEmployeesJSON(Model model) 
{
model.addAttribute("employees", getEmployeesCollection());
return "jsonTemplate";
}
@RequestMapping(value = "/employees", produces = 
MediaType.APPLICATION_JSON_VALUE,  method = RequestMethod.GET)
public String getAllEmployeesJSON(Model model) 
{
model.addAttribute("employees", getEmployeesCollection());
return "jsonTemplate";
}
@RequestMapping(value = "/employees", produces = 
MediaType.APPLICATION_XML_VALUE, method = RequestMethod.GET)
public String getAllEmployeesXML(Model model) 
{
model.addAttribute("employees", getEmployeesCollection());
return "xmlTemplate";
}
@RequestMapping(value = "/employees/{id}")
public ResponseEntity<EmployeeVO> getEmployeeById (@PathVariable("id") 
int id) 
{
if (id <= 3) {
    EmployeeVO employee = new 
EmployeeVO(1,"Lokesh","Gupta","howtodoinjava@gmail.com");
    return new ResponseEntity<EmployeeVO>(employee, HttpStatus.OK);
}
return new ResponseEntity(HttpStatus.NOT_FOUND);
}
@RequestMapping(value = "/employees", method = RequestMethod.POST)
public ResponseEntity<String> createEmployee(@RequestBody EmployeeVO 
employee) 
{
System.out.println(employee);
return new ResponseEntity(HttpStatus.CREATED);
}
@RequestMapping(value = "/employees/{id}", method = RequestMethod.PUT)
public ResponseEntity<EmployeeVO> updateEmployee(@PathVariable("id") 
int id, @RequestBody EmployeeVO employee) 
{
System.out.println(id);
System.out.println(employee);
return new ResponseEntity<EmployeeVO>(employee, HttpStatus.OK);
}
@RequestMapping(value = "/employees/{id}", method = 
RequestMethod.DELETE)
public ResponseEntity<String> updateEmployee(@PathVariable("id") int 
id) 
{
System.out.println(id);
return new ResponseEntity(HttpStatus.OK);
}
HTTP PUT方法示例

RESTAPI代码

@RequestMapping(value = "/employees", produces = 
MediaType.APPLICATION_XML_VALUE, method = RequestMethod.GET)
public String getAllEmployeesXML(Model model) 
{
model.addAttribute("employees", getEmployeesCollection());
return "xmlTemplate";
}
@RequestMapping(value = "/employees", produces = 
MediaType.APPLICATION_JSON_VALUE,  method = RequestMethod.GET)
public String getAllEmployeesJSON(Model model) 
{
model.addAttribute("employees", getEmployeesCollection());
return "jsonTemplate";
}
@RequestMapping(value = "/employees", produces = 
MediaType.APPLICATION_JSON_VALUE,  method = RequestMethod.GET)
public String getAllEmployeesJSON(Model model) 
{
model.addAttribute("employees", getEmployeesCollection());
return "jsonTemplate";
}
@RequestMapping(value = "/employees", produces = 
MediaType.APPLICATION_XML_VALUE, method = RequestMethod.GET)
public String getAllEmployeesXML(Model model) 
{
model.addAttribute("employees", getEmployeesCollection());
return "xmlTemplate";
}
@RequestMapping(value = "/employees/{id}")
public ResponseEntity<EmployeeVO> getEmployeeById (@PathVariable("id") 
int id) 
{
if (id <= 3) {
    EmployeeVO employee = new 
EmployeeVO(1,"Lokesh","Gupta","howtodoinjava@gmail.com");
    return new ResponseEntity<EmployeeVO>(employee, HttpStatus.OK);
}
return new ResponseEntity(HttpStatus.NOT_FOUND);
}
@RequestMapping(value = "/employees", method = RequestMethod.POST)
public ResponseEntity<String> createEmployee(@RequestBody EmployeeVO 
employee) 
{
System.out.println(employee);
return new ResponseEntity(HttpStatus.CREATED);
}
@RequestMapping(value = "/employees/{id}", method = RequestMethod.PUT)
public ResponseEntity<EmployeeVO> updateEmployee(@PathVariable("id") 
int id, @RequestBody EmployeeVO employee) 
{
System.out.println(id);
System.out.println(employee);
return new ResponseEntity<EmployeeVO>(employee, HttpStatus.OK);
}
@RequestMapping(value = "/employees/{id}", method = 
RequestMethod.DELETE)
public ResponseEntity<String> updateEmployee(@PathVariable("id") int 
id) 
{
System.out.println(id);
return new ResponseEntity(HttpStatus.OK);
}
@RequestMapping(value=“/employees/{id}”,method=RequestMethod.PUT)
公共响应更新员工(@PathVariable(“id”)
int id,@RequestBody EmployeeVO employee)
{
系统输出打印项次(id);
系统输出打印项次(员工);
返回新的响应属性(employee,HttpStatus.OK);
}
REST客户端代码

private static void getEmployees()
{
final String uri = 
"http://localhost:8080/springrestexample/employees.xml";

RestTemplate restTemplate = new RestTemplate();
String result = restTemplate.getForObject(uri, String.class);

System.out.println(result);
}
private static void getEmployees()
{
final String uri = 
"http://localhost:8080/springrestexample/employees.json";

RestTemplate restTemplate = new RestTemplate();
String result = restTemplate.getForObject(uri, String.class);

System.out.println(result);
}
private static void getEmployees()
{
final String uri = "http://localhost:8080/springrestexample/employees";

RestTemplate restTemplate = new RestTemplate();

HttpHeaders headers = new HttpHeaders();
headers.setAccept(Arrays.asList(MediaType.APPLICATION_JSON));
HttpEntity<String> entity = new HttpEntity<String>("parameters", 
headers);

ResponseEntity<String> result = restTemplate.exchange(uri, 
HttpMethod.GET, entity, String.class);

System.out.println(result);
}
private static void getEmployees()
{
final String uri = "http://localhost:8080/springrestexample/employees";
RestTemplate restTemplate = new RestTemplate();

EmployeeListVO result = restTemplate.getForObject(uri, 
EmployeeListVO.class);

System.out.println(result);
private static void getEmployeeById()
{
final String uri = 
"http://localhost:8080/springrestexample/employees/{id}";

Map<String, String> params = new HashMap<String, String>();
params.put("id", "1");

RestTemplate restTemplate = new RestTemplate();
EmployeeVO result = restTemplate.getForObject(uri, EmployeeVO.class, 
params);

System.out.println(result);
}
private static void createEmployee()
{
final String uri = "http://localhost:8080/springrestexample/employees";

EmployeeVO newEmployee = new EmployeeVO(-1, "Adam", "Gilly", 
"test@email.com");

RestTemplate restTemplate = new RestTemplate();
EmployeeVO result = restTemplate.postForObject( uri, newEmployee, 
EmployeeVO.class);

System.out.println(result);
}
private static void deleteEmployee()
{
final String uri = 
"http://localhost:8080/springrestexample/employees/{id}";

Map<String, String> params = new HashMap<String, String>();
params.put("id", "2");

EmployeeVO updatedEmployee = new EmployeeVO(2, "New Name", "Gilly", 
"test@email.com");

RestTemplate restTemplate = new RestTemplate();
restTemplate.put ( uri, updatedEmployee, params);
}
private static void deleteEmployee()
{
final String uri = 
"http://localhost:8080/springrestexample/employees/{id}";

Map<String, String> params = new HashMap<String, String>();
params.put("id", "2");

RestTemplate restTemplate = new RestTemplate();
restTemplate.delete ( uri,  params );
}
私有静态void deleteEmployee()
{
最终字符串uri=
"http://localhost:8080/springrestexample/employees/{id}”;
Map params=新的HashMap();
参数put(“id”、“2”);
EmployeeVO updatedeemployee=newemployeevo(2,“新名字”,“吉利”,
"test@email.com");
RestTemplate RestTemplate=新RestTemplate();
restemplate.put(uri,updatedEmployee,params);
}
HTTP删除方法示例

RESTAPI代码

@RequestMapping(value = "/employees", produces = 
MediaType.APPLICATION_XML_VALUE, method = RequestMethod.GET)
public String getAllEmployeesXML(Model model) 
{
model.addAttribute("employees", getEmployeesCollection());
return "xmlTemplate";
}
@RequestMapping(value = "/employees", produces = 
MediaType.APPLICATION_JSON_VALUE,  method = RequestMethod.GET)
public String getAllEmployeesJSON(Model model) 
{
model.addAttribute("employees", getEmployeesCollection());
return "jsonTemplate";
}
@RequestMapping(value = "/employees", produces = 
MediaType.APPLICATION_JSON_VALUE,  method = RequestMethod.GET)
public String getAllEmployeesJSON(Model model) 
{
model.addAttribute("employees", getEmployeesCollection());
return "jsonTemplate";
}
@RequestMapping(value = "/employees", produces = 
MediaType.APPLICATION_XML_VALUE, method = RequestMethod.GET)
public String getAllEmployeesXML(Model model) 
{
model.addAttribute("employees", getEmployeesCollection());
return "xmlTemplate";
}
@RequestMapping(value = "/employees/{id}")
public ResponseEntity<EmployeeVO> getEmployeeById (@PathVariable("id") 
int id) 
{
if (id <= 3) {
    EmployeeVO employee = new 
EmployeeVO(1,"Lokesh","Gupta","howtodoinjava@gmail.com");
    return new ResponseEntity<EmployeeVO>(employee, HttpStatus.OK);
}
return new ResponseEntity(HttpStatus.NOT_FOUND);
}
@RequestMapping(value = "/employees", method = RequestMethod.POST)
public ResponseEntity<String> createEmployee(@RequestBody EmployeeVO 
employee) 
{
System.out.println(employee);
return new ResponseEntity(HttpStatus.CREATED);
}
@RequestMapping(value = "/employees/{id}", method = RequestMethod.PUT)
public ResponseEntity<EmployeeVO> updateEmployee(@PathVariable("id") 
int id, @RequestBody EmployeeVO employee) 
{
System.out.println(id);
System.out.println(employee);
return new ResponseEntity<EmployeeVO>(employee, HttpStatus.OK);
}
@RequestMapping(value = "/employees/{id}", method = 
RequestMethod.DELETE)
public ResponseEntity<String> updateEmployee(@PathVariable("id") int 
id) 
{
System.out.println(id);
return new ResponseEntity(HttpStatus.OK);
}
@RequestMapping(value=“/employees/{id}”,方法=
RequestMethod.DELETE)
公共响应更新员工(@PathVariable(“id”)int
id)
{
系统输出打印项次(id);
返回新的响应状态(HttpStatus.OK);
}
REST客户端代码

private static void getEmployees()
{
final String uri = 
"http://localhost:8080/springrestexample/employees.xml";

RestTemplate restTemplate = new RestTemplate();
String result = restTemplate.getForObject(uri, String.class);

System.out.println(result);
}
private static void getEmployees()
{
final String uri = 
"http://localhost:8080/springrestexample/employees.json";

RestTemplate restTemplate = new RestTemplate();
String result = restTemplate.getForObject(uri, String.class);

System.out.println(result);
}
private static void getEmployees()
{
final String uri = "http://localhost:8080/springrestexample/employees";

RestTemplate restTemplate = new RestTemplate();

HttpHeaders headers = new HttpHeaders();
headers.setAccept(Arrays.asList(MediaType.APPLICATION_JSON));
HttpEntity<String> entity = new HttpEntity<String>("parameters", 
headers);

ResponseEntity<String> result = restTemplate.exchange(uri, 
HttpMethod.GET, entity, String.class);

System.out.println(result);
}
private static void getEmployees()
{
final String uri = "http://localhost:8080/springrestexample/employees";
RestTemplate restTemplate = new RestTemplate();

EmployeeListVO result = restTemplate.getForObject(uri, 
EmployeeListVO.class);

System.out.println(result);
private static void getEmployeeById()
{
final String uri = 
"http://localhost:8080/springrestexample/employees/{id}";

Map<String, String> params = new HashMap<String, String>();
params.put("id", "1");

RestTemplate restTemplate = new RestTemplate();
EmployeeVO result = restTemplate.getForObject(uri, EmployeeVO.class, 
params);

System.out.println(result);
}
private static void createEmployee()
{
final String uri = "http://localhost:8080/springrestexample/employees";

EmployeeVO newEmployee = new EmployeeVO(-1, "Adam", "Gilly", 
"test@email.com");

RestTemplate restTemplate = new RestTemplate();
EmployeeVO result = restTemplate.postForObject( uri, newEmployee, 
EmployeeVO.class);

System.out.println(result);
}
private static void deleteEmployee()
{
final String uri = 
"http://localhost:8080/springrestexample/employees/{id}";

Map<String, String> params = new HashMap<String, String>();
params.put("id", "2");

EmployeeVO updatedEmployee = new EmployeeVO(2, "New Name", "Gilly", 
"test@email.com");

RestTemplate restTemplate = new RestTemplate();
restTemplate.put ( uri, updatedEmployee, params);
}
private static void deleteEmployee()
{
final String uri = 
"http://localhost:8080/springrestexample/employees/{id}";

Map<String, String> params = new HashMap<String, String>();
params.put("id", "2");

RestTemplate restTemplate = new RestTemplate();
restTemplate.delete ( uri,  params );
}
私有静态void deleteEmployee()
{
最终字符串uri=
"http://localhost:8080/springrestexample/employees/{id}”;
Map params=新的HashMap();
参数put(“id”、“2”);
RestTemplate RestTemplate=新RestTemplate();
restemplate.delete(uri,参数);
}