微服务相互调用-OpenFeign(续)
OpenFeign对PUT提交的支持
被调用方micro-base-server中,MarketController
/**
* 修改接口
* @param marketInfo
* @return
*/
@PutMapping(value = "/{id}",produces = MediaType.APPLICATION_JSON_VALUE)
public String updateMarket(@RequestBody MarketInfo marketInfo,@PathVariable("id") Integer id){
System.out.println(marketInfo);
System.out.println(id);
return JSONObject.toJSONString(ResponseMsg.builder().code(200).msg("操作成功").build());
}
注意观察:@RequestBody
说明:调用方和被调用方通过JSON完成数据的传输
调用方MicroBaseServerFeign接口中
/**
* PUT提交的支持
* 如果走了占位符的方式,路径参数上,就一定要编写@PathVariable
* @param marketInfo
* @param id
* @return
*/
@PutMapping(value = "/market/{id}",produces = MediaType.APPLICATION_JSON_VALUE)
public String updateMarket(@RequestBody MarketInfo marketInfo,@PathVariable("id") Integer id);
@PathVariable 路径参数,一定要用该注解来修饰
@RequestBody 此处的Java对象,一定要添加该注解
调用方的FeignController中
@PutMapping(value="/put",produces = MediaType.APPLICATION_JSON_VALUE)
public String updateMarket(MarketInfo marketInfo){
//调用Base微服务的修改方法
String res = microBaseServerFeign.updateMarket(marketInfo,marketInfo.getId());
return res;
}
上述的示例中,就完成了PUT方法的相互调用!!!
OpenFeign对DELETE提交的支持
被调用方micro-base-server中,MarketController
/**
* 删除
* @param id
* @return
*/
@DeleteMapping(value = "/{id}",produces = MediaType.APPLICATION_JSON_VALUE)
public String deleteMarket(@PathVariable("id") Integer id){
System.out.println(id);
return JSONObject.toJSONString(ResponseMsg.builder().code(200).msg("操作成功").build());
}
调用方MicroBaseServerFeign接口中
/**
* DELETE提交的支持
* @param id
* @return
*/
@DeleteMapping(value = "/market/{id}",produces = MediaType.APPLICATION_JSON_VALUE)
public String deleteMarket(@PathVariable("id") Integer id);
调用方的FeignController中
/**
* 删除
* @param id
* @return
*/
@DeleteMapping(value="/delete",produces = MediaType.APPLICATION_JSON_VALUE)
public String deleteMarket(Integer id){
//调用Base微服务的修改方法
String res = microBaseServerFeign.deleteMarket(id);
return res;
}
测试结果
上述的案例,就完成了对DELETE方式的提交!!!
res;
}
##### 测试结果
[外链图片转存中...(img-y46lWbtC-1615996858793)]
上述的案例,就完成了对DELETE方式的提交!!!