Restful接口中,对象、Map以及Date类型的传参方式

代码如下:

import org.springframework.stereotype.Controller;
import org.springframework.web.bind.annotation.RequestBody;
import org.springframework.web.bind.annotation.RequestMapping;
import org.springframework.web.bind.annotation.RequestMethod;
import org.springframework.web.bind.annotation.ResponseBody;
import org.springframework.web.client.RestTemplate;

import java.util.Date;
import java.util.HashMap;
import java.util.Map;

/**
 * @author Administrator
 *
 */
@Controller
@RequestMapping(value = "/test")
public class TestController {

    @RequestMapping(value = "/object", method = RequestMethod.POST)
    @ResponseBody
    public String object(@RequestBody LocationModel model) {
        return model.getLongitude() + " " + model.getLatitude() + " " + model.getCreateBy() + " " + model.getCreateTime();
    }

    @RequestMapping(value = "/map", method = RequestMethod.POST)
    @ResponseBody
    public String map(@RequestBody Map<String, String> map) {
        String createBy = map.get("createBy");
        return createBy;
    }

    @RequestMapping(value = "/date", method = RequestMethod.POST)
    @ResponseBody
    public String map(@RequestBody Date date) {
        return date.toString();
    }

    @RequestMapping(value = "/test_object")
    @ResponseBody
    public String callWsObject() {
        try {
            RestTemplate template = new RestTemplate();
            String url = "http://localhost:8080/location/object";
            LocationModel model = new LocationModel();
            model.setLongitude("110.234567");
            model.setLatitude("222.238043");
            model.setCreateBy("wh@aishk.com");
            model.setCreateTime("2016-08-21 14:03:26");
            String result = template.postForObject(url, model, String.class);
            return "Result: " + result;
        } catch (Exception e) {
            // TODO: handle exception
            e.printStackTrace();
            return e.getMessage();
        }
    }

    @RequestMapping(value = "/test_map")
    @ResponseBody
    public String callWsMap() {
        try {
            RestTemplate template = new RestTemplate();
            String url = "http://localhost:8080/location/map";
            Map<String, String> map = new HashMap<String, String>();
            map.put("createBy", "xiaohong");
            String result = template.postForObject(url, map, String.class);
            return "Result: " + result;
        } catch (Exception e) {
            // TODO: handle exception
            e.printStackTrace();
            return e.getMessage();
        }
    }

    @RequestMapping(value = "/test_date")
    @ResponseBody
    public String callWsDate() {
        try {
            RestTemplate template = new RestTemplate();
            String url = "http://localhost:8080/location/date";
            return template.postForObject(url, new Date(), String.class);
        } catch (Exception e) {
            // TODO: handle exception
            e.printStackTrace();
            return e.getMessage();
        }
    }
}

测试object,打开浏览器,访问:http://localhost:8080/项目名称/test/test_object
显示结果:

Result: 110.234567 222.238043 xiaoming 2016-08-21 14:03:26

测试map,打开浏览器,访问:http://localhost:8080/项目名称/test/test_map
显示结果:

Result: xiaohong

测试date,打开浏览器,访问:http://localhost:8080/项目名称/test/test_date
显示结果:

Wed Oct 25 10:19:58 CST 2017
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值