接上篇详解03,本篇记录服务间的参数传递
这里正常情况下需要业务实现类去实现方法,去数据库拿数据,为了省点代码,本次使用模拟数据
package com.lzl.controller;import com.lzl.dto.UserDto;
import com.lzl.utils.JsonResult;
import org.springframework.web.bind.annotation.*;import java.util.Arrays;
import java.util.List;
/*** --效率,是成功的核心关键--** @Author lzl* @Date 2023/3/15 15:19*/@RestController
@RequestMapping("user-provider")
public class UserController {@RequestMapping("findAll")public JsonResult findAll(){System.out.println("7072");//模拟数据库中的数据List userList = Arrays.asList(new UserDto(1001, "张三"),new UserDto(1002, "李四"),new UserDto(1003, "王五"));JsonResult jsonResult = JsonResult.ok();jsonResult.setData(userList);return jsonResult;}//模拟数据库操作//查询单个@GetMapping("findById")public JsonResult findById(@RequestParam("id") Integer id){UserDto user = new UserDto(id, "jack");JsonResult jsonResult = JsonResult.ok();jsonResult.setData(user);return jsonResult;}//删除单个@DeleteMapping("deleteById/{id}")public JsonResult deleteById(@PathVariable("id") Integer id){System.out.println("deleteById:"+id);return JsonResult.ok();}//添加@PostMapping("addUser")public JsonResult addUser(@RequestBody UserDto user){System.out.println("addUser:"+user);return JsonResult.ok();}//修改@PutMapping("updateUser")public JsonResult updateUser(@RequestParam Integer id,@RequestParam String name){System.out.println("updateUser:"+id+"--"+name);return JsonResult.ok();}}
package com.lzl.service;import com.lzl.dto.UserDto;
import com.lzl.utils.JsonResult;
import org.springframework.cloud.openfeign.FeignClient;
import org.springframework.stereotype.Service;
import org.springframework.web.bind.annotation.*;/*** --效率,是成功的核心关键--** @Author lzl* @Date 2023/3/15 16:23*/
@Service
@FeignClient("provider")//服务名,需要在nacos界面查看服务列表
public interface UserService {@RequestMapping("/user-provider/findAll")JsonResult findAll();//模拟数据库操作//查询单个@GetMapping("/user-provider/findById")JsonResult findById(@RequestParam("id") Integer id);//删除单个@DeleteMapping("/user-provider/deleteById/{id}")JsonResult deleteById(@PathVariable("id") Integer id);//添加@PostMapping("/user-provider/addUser")JsonResult addUser(@RequestBody UserDto user);//修改@PutMapping("/user-provider/updateUser")JsonResult updateUser(@RequestParam Integer id,@RequestParam String name);
}
package com.lzl.controller;import com.lzl.dto.UserDto;
import com.lzl.service.UserService;
import com.lzl.utils.JsonResult;
import org.springframework.beans.factory.annotation.Autowired;
import org.springframework.web.bind.annotation.*;/*** --效率,是成功的核心关键--** @Author lzl* @Date 2023/3/15 16:25*/@RestController
@RequestMapping("feign")
public class FeignUserController {@Autowiredprivate UserService userService;@RequestMapping("findAll")public JsonResult findAll(){return userService.findAll();}//模拟数据库操作//查询单个@GetMapping("findById")public JsonResult findById(@RequestParam("id") Integer id){return userService.findById(id);}//删除单个@DeleteMapping("deleteById/{id}")public JsonResult deleteById(@PathVariable("id") Integer id){return userService.deleteById(id);}//添加@PostMapping("addUser")public JsonResult addUser(UserDto user){return userService.addUser(user);}//修改@PutMapping("updateUser")public JsonResult updateUser(@RequestParam Integer id,@RequestParam String name){return userService.updateUser(id,name);}
}
启动服务提供方和消费方访问对应的方法
成功
本篇记录服务间参数传递,更多内容见下篇