RestTemplate的使用以及JSON字符串的处理

RestTemplate的使用以及JSON字符串的处理

1.注入Bean对象

//方法一(在任意文件夹写)
@Component
public class BeanRestTemplate {
    @Bean
    public RestTemplate GCRestTemplate(){
        return new RestTemplate();
    }
}

//注入Bean对象在需要用的class里面写
@RestController
@RequestMapping("/test")
public class Test {
	@Autowired
    private BeanRestTemplate beanRestTemplate ;
	
	@GetMapping("/getTest")
    public User getTest(String requesetParam){
    	RestTemplate restTemplate = beanRestTemplate.GCRestTemplate();
    }
}

//方法二
@RestController
@RequestMapping("/test")
public class Test {
	@Autowired
    private RestTemplate restTemplate ;
	
	@GetMapping("/getTest")
    public User getTest(String requesetParam){	
    }
}

2.使用GET、POST、PUT、DELETE请求及入参问题

//入参(入参只要是json格式的字符串就行,我们再接口那端解析。比如说接口那端有个User实体类,并且入参需要传递,成员变量是,id、name、addr。我们便可以用下面的方式弄。)
String jsonstr = "{\"id\":\"1024\",\"name\":\"wwy\",\"addr\":\"安徽.合肥\"}";
//get
    @GetMapping("/getgc")
    public String getgc(String jsonstr){
        RestTemplate gc = gcRestTemplet.gc();
        String forObject = gc.getForObject("http://127.0.0.1:10086/test/getTest?jsonstr={jsonstr}", String.class,jsonstr);
        System.out.println(forObject);
        return forObject;
    }
//post
    @GetMapping("/postgc")
    public String postgc(String jsonstr){
        RestTemplate gc = gcRestTemplet.gc();
        String forObject = gc.postForObject("http://127.0.0.1:10086/test/postTest?jsonstr={jsonstr}","",String.class,jsonstr);
        System.out.println(forObject);
        return forObject;
    }
//put
    @GetMapping("/putgc")
    public String putgc(String jsonstr){
        RestTemplate gc = gcRestTemplet.gc();
        try {
            gc.put("http://127.0.0.1:10086/test/putTest?jsonstr={jsonstr}",null,jsonstr);
        }catch (Exception e){
            e.printStackTrace();
            return "调用接口失败";
        }
        return "修改成功!";
    }
//delete
    @GetMapping("/deletegc")
    public String deletegc(String jsonstr){
        RestTemplate gc = gcRestTemplet.gc();
        try {
            gc.delete("http://127.0.0.1:10086/test/deletTest?jsonstr={jsonstr}",jsonstr);
        }catch (Exception e){
            e.printStackTrace();
            return "调用接口失败";
        }
        return "删除成功!";
    }

3.JSON字符串转实体类

    @GetMapping("/getTest")
    public User getTest(String requesetParam){
        JSONObject parse = (JSONObject) JSONObject.parse(requesetParam);
        User user = new User(parse.getString("id"),parse.getString("name"),parse.getString("addr"));
        return user;
    }

注:JSON数组转List

String jsonStr = "[{\"id\":\"1024\",\"name\":\"wwy\",\"addr\":\"安徽.合肥\"},{\"id\":\"1025\",\"name\":\"xxx\",\"addr\":\"北京\"}]";
List<User> users = JSONArray.parseArray(jsonStr, User.class);

JAVA对象转JSON字符串

//单个对象
User user = new User("1024","wwy","安徽.合肥");
String jsonStr = JSON.toJSONString(user);
//list对象
User user1 = new User("1024","wwy","安徽.合肥");
User user2 = new User("1025","xxx","北京");
List< User> userList = new ArrayList<>();
userList.add(user1);
userList.add(user2);
String jsonStr = JSON.toJSONString(userList);
//集合的以此类推
//多层树结构以此类推
  • 0
    点赞
  • 1
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值