ReactiveMongoRepository 无法保存到数据库
ReactiveMongoRepository can't save to database
我是 Java 的新手。我正在使用 Webflux 和 ReactiveMongoRepository 创建一个 API。
我尝试从另一个 API.
保存我的数据
我的存储库:
@Repository
public interface AccountApiTrackingRepo extends ReactiveMongoRepository<AccountApiTracking, String> {
}
我的服务实现:
@Override
public void findByIdAccountsApiTrack(User user, String accountId){
AccountApiTracking accountApiTracking = new AccountApiTracking();
accountApiTracking.setUser(user);
accountApiTracking.setAccountId(accountId);
accountApiTracking.setAction("Find account by Id");
System.out.println(accountApiTracking);
accountApiTrackingRepo.save(accountApiTracking);
}
我的服务:
@Service
public interface AccountApiTrackingService {
public void createAccountsApiTrack(User user, AccountDto accountDto);
public void findByIdAccountsApiTrack(User user, String accountId);
Flux<AccountApiTrackingDto> findAll();
}
我的模特:
@Document
@Data
@NoArgsConstructor
@AllArgsConstructor
public class AccountApiTracking implements AutoMapping<AccountApiTrackingDto> {
@Id
private String id;
private User user;
private String action;
private AccountDto payload;
private String accountId;
@Override
public String toString() {
return String.valueOf(action);
}
}
在函数 findByIdAccountsApiTrack() 之后 运行 我找不到在我的数据库中创建的任何文档。
我可以看到我的变量 accountApiTracking 有数据。但是 accountApiTrackingRepo.save 不起作用。
我错过了什么?
在反应式编程中应该订阅任何反应式指令。
你应该
return accountApiTrackingRepo.save(accountApiTracking);
例如在控制器中直到您的使用。
或者对于您的测试用例,您可以在方法调用后使用“.subscribe()”。
我是 Java 的新手。我正在使用 Webflux 和 ReactiveMongoRepository 创建一个 API。 我尝试从另一个 API.
保存我的数据我的存储库:
@Repository
public interface AccountApiTrackingRepo extends ReactiveMongoRepository<AccountApiTracking, String> {
}
我的服务实现:
@Override
public void findByIdAccountsApiTrack(User user, String accountId){
AccountApiTracking accountApiTracking = new AccountApiTracking();
accountApiTracking.setUser(user);
accountApiTracking.setAccountId(accountId);
accountApiTracking.setAction("Find account by Id");
System.out.println(accountApiTracking);
accountApiTrackingRepo.save(accountApiTracking);
}
我的服务:
@Service
public interface AccountApiTrackingService {
public void createAccountsApiTrack(User user, AccountDto accountDto);
public void findByIdAccountsApiTrack(User user, String accountId);
Flux<AccountApiTrackingDto> findAll();
}
我的模特:
@Document
@Data
@NoArgsConstructor
@AllArgsConstructor
public class AccountApiTracking implements AutoMapping<AccountApiTrackingDto> {
@Id
private String id;
private User user;
private String action;
private AccountDto payload;
private String accountId;
@Override
public String toString() {
return String.valueOf(action);
}
}
在函数 findByIdAccountsApiTrack() 之后 运行 我找不到在我的数据库中创建的任何文档。 我可以看到我的变量 accountApiTracking 有数据。但是 accountApiTrackingRepo.save 不起作用。 我错过了什么?
在反应式编程中应该订阅任何反应式指令。
你应该
return accountApiTrackingRepo.save(accountApiTracking);
例如在控制器中直到您的使用。
或者对于您的测试用例,您可以在方法调用后使用“.subscribe()”。