代码之家  ›  专栏  ›  技术社区  ›  mikeb

Spring数据-RepositoryRestResource PUT返回200,但不更新对象

  •  0
  • mikeb  · 技术社区  · 4 年前

    我用的是Spring的HATEOAS repo:

    @RepositoryRestResource(collectionResourceRel = "equipment", path = "equipment")
    interface EquipmentRepository : PagingAndSortingRepository<Equipment, Int>
    

    以下是我的域对象:

    @Entity
    data class Equipment(
        @Id
        @GeneratedValue(strategy = GenerationType.AUTO)
        val id: Int?,
        val serialNumber: String?,
        val modelNumber: String,
        val make: String,
        val model: String,
        val year: Int,
        val purchaseDate: Date,
        val warrantyEnds: Date,
        val cost: Double
    )
    

    我用cURL和Postman制作设备,一切都很好。如果我使用补丁进行部分更新,查询会更新对象——如果我使用相同的URL和相同的数据进行PUT,则不会更新任何内容,但我在postman中得到了200个响应(以及旧对象)。

    我怎么能打补丁 http://localhost:8080/equipment/1 但使用相同数据和相同端点的PUT返回200,但不更新数据?

    控制台/日志上的服务器端没有错误,也没有任何关于我为什么得到200而没有更新的指示。。。

    我在用Kotlin,如果有关系的话。。。

    PUT not updating

    PATCH is updating

    0 回复  |  直到 4 年前