4.0.0pomorg.springframework.bootspring-boot-starter-parent2.3.1.RELEASEcom.exampledubbo0.0.1-SNAPSHOTdubboDemo project for Spring Boot to Dubbo1.83.0.44.2.0org.apache.dubbodubbo-spring-boot-starter${dubbo-boot.version}org.apache.curatorcurator-x-discovery${zkclient.version}
@Data
@NoArgsConstructor
@AllArgsConstructor
public class User implements Serializable {
private static final long serialVersionUID = 8728327146677888239L;
private Integer userId;
private String userName;
}
UserService.java:
public interface UserService {
User getByUserId(Integer userId);
}
@DubboService
public class UserServiceImpl implements UserService {
// 模拟数据
private static final List USERS = Arrays.asList(
new User(1, "张三"),
new User(2, "李四")
);
@Override
public User getByUserId(Integer userId) {
for (User user : USERS) {
if (user.getUserId().equals(userId)) {
return user;
}
}
return null;
}
}
@RestController
public class UserController {
@DubboReference
private UserService userService;
@GetMapping("/user/{userId}")
public ResponseEntity getByUserId(@PathVariable("userId") Integer userId) {
System.out.println("userId = " + userId);
User user = userService.getByUserId(userId);
System.out.println("user = " + user);
return ResponseEntity.ok(userService.getByUserId(userId));
}
}
DubboConsumerApplication.java:
@SpringBootApplication
public class DubboConsumerApplication {
public static void main(String[] args) {
SpringApplication.run(DubboConsumerApplication.class, args);
}
}