Uso de Spring Cloud openfeign

1. Maven agrega dependencia openFeign

<dependency>
    <groupId>org.springframework.cloud</groupId>
    <artifactId>spring-cloud-starter-feign</artifactId>
</dependency>

Segundo, el código del productor.

Código de capa de controlador de productor:

@RestController
@RequestMapping("/user")
public class UserController{
    @Autowired
    private UserService userService
    @RequestMapping("/insertUser")
    public void insertUser(@RequestBody User user){
        userService.insert(user);
    }
    @RequestMapping("/getUserById")
    public User getUserById(@RequestParam String username){
        return userService.getUserById(username);
    }
}

Tres, código de consumidor

Código de capa de servicio al consumidor:

@Service
@FeignClient("endservice")
public interface UserService{
    @RequestMapping("/user/insertUser")
    public void insertUser(@RequestBody User user);
    @RequestMapping("/user/getUserById")
    public User getUserById(@RequestParam String username);
}

Código de capa de controlador de consumidor:

@RestController
@RequestMapping("/user")
public class UserController{
    @Autowired
    private UserService userService
    @RequestMapping("/insertUser")
    public void insertUser(@RequestBody User user){
        userService.insert(user);
    }
    @RequestMapping("/getUserById")
    public User getUserById(@RequestParam String username){
        username=username==null?"":username;        

        return userService.getUserById(username);
    }
}

Nota:

1. Los parámetros del método y las anotaciones de la capa de Servicio al consumidor deben ser los mismos que los de la capa del Controlador productor o se producirán errores.

2. Uso de @RequestParam y @RequestBoby

@RequestParam solo puede recibir y pasar valores de parámetros de tipos de datos de uso común, como String, int, float, etc. No puede recibir ni pasar datos de tipo de objeto (clase)

@RequestBoby puede recibir y pasar datos de tipo de objeto

3. La causa del error 400

El parámetro pasado de la capa del Controlador del consumidor a la capa del Controlador del productor es nulo; establezca el parámetro en el valor predeterminado

Publicado 34 artículos originales · Me gusta1 · Visitas 1945

Supongo que te gusta

Origin blog.csdn.net/qq_38974638/article/details/105113735
Recomendado
Clasificación