当前位置: 首页 > 知识库问答 >
问题:

webflux返回一个空对象列表

严嘉良
2023-03-14

我对Spring编程是新手。我正在用Reactor/Webflux项目测试反应式编程。

数据库注册通过POST工作得很好。

@SpringBootApplication
class UsersMsApplication

fun main(args: Array<String>) {
    runApplication<UsersMsApplication>(*args)
}

我的模型:

@Document(collection = "user")
data class User(
                @Id
                private var id: String,
                @Field("name")
                private var name: String
                ) : Serializable

我的存储

@Repository
interface UserRepository : ReactiveMongoRepository<User, String>

我的用户服务

interface UserService {
    fun createUser(user: User): Mono<User>

    fun findAllUsers(): Flux<User>

    fun findOneById(id: String): Mono<User>
}
@Service
class UserServiceImpl(private val userRepository: UserRepository): UserService {
    override fun createUser(user: User): Mono<User> {
        return userRepository.save(user)
    }

    override fun findAllUsers(): Flux<User> {
        return userRepository.findAll()
    }

    override fun findOneById(id: String): Mono<User> {
        return userRepository.findById(id)
    }
}
@RestController
@RequestMapping("/api")
class UserResource(private val userService: UserService) {

    @PostMapping("/users")
    fun addUser(@RequestBody user: User) : Mono<User> = userService.createUser(user)

    @GetMapping("/users")
    fun findAllUsers() : Flux<User> = userService.findAllUsers()

    @GetMapping("/users/{id}")
    fun getOneUser(@PathVariable id: String) : Mono<User> = userService.findOneById(id)

}
spring.data.mongodb.host=localhost
spring.data.mongodb.port=27017
spring.data.mongodb.database=users_db

logging.level.org.springframework.data=debug
[
    {},
    {},
    {}
]

共有1个答案

黄鸣
2023-03-14

user数据类中,所有成员都声明为private,因此返回给客户机时不会序列化为JSON。将它们更改为public(只需删除private,因为它将默认为public)并希望这会有所帮助。

 类似资料:
  • 问题内容: 我有一个文件夹,其中包含index.js和几个模型(类)index.js book.js author.js 问题在于Author类似乎找不到书!它只是一个空对象。但是,如果我在index.js中切换导出,则将Book放在Author之后- 可以,但是其他模型将停止工作。 我不想做任何骇客工作。 问题答案: 这是因为您具有循环依赖关系。Node.js以非常特定的方式处理此问题: 第一个

  • 问题内容: 如果不是原始类型,返回类型的正确方法是什么?例如。我目前使用null如下。 问题答案: Void类是一个无法实例化的占位符类,用于保存对表示Java关键字void的Class对象的引用。 因此,以下任何条件就足够了: 参数化并返回或 参数化并返回 用您的一个参数化 你不能让这种方法,和其他任何回报 的东西 。由于忽略了某些内容,因此您可以返回任何内容。

  • 如果我跑: 我会得到一张空名单。我猜它与名称空间有关,但我不知道如何修复它。

  • 首先,我收到来自post string属性和来自控制器的inputStream。 接下来,我的服务调用ParseGeojosnStream以流式传输文件的内容。 接下来,传递特性的名称和列表,并将其插入表中。 最后,使用字符串属性和表名作为id创建scheme。 那么,当强制转换为json并将其存储在数据库中时,为什么要返回一个空的属性对象呢? 代码如下: log.info(“jsonGeomet

  • 问题内容: 我在Android中有一个客户端应用程序,用于将文件发送到服务器。服务器使用Apache Commons FileUpload API来解析表单数据值。 该发送该请求: 服务器代码: 问题就在这里。返回的列表为空,我无法获取表单数据值。 问题答案: 如果您已经(隐式)预先解析了请求正文,则此位置将为空。HTTP请求正文只能被读取/解析 一次 (因为客户端仅发送一次,并且不会多次发送)。

  • 我开始进入WP开发,我有问题与ACF后对象返回空,我不知道为什么。我创建了一个ACF,分类法的位置等于类别然后字段设置为... 字段名称:推荐的\u资源 然后在岗位上 我得到了无效的任何帮助或指向正确的方向都是非常感谢的。