Spring 数据剩余显示 id 作为 mongo 存储库中 POST 方法的路径变量?
Spring data rest shows id as path variable in swagger for POST method in mongo repository?
我正在使用 MongoRepository。下面是我的实体 class:
import com.fasterxml.jackson.annotation.JsonInclude;
import lombok.Data;
import lombok.EqualsAndHashCode;
import lombok.ToString;
import org.springframework.data.annotation.Id;
import org.springframework.data.mongodb.core.index.Indexed;
import org.springframework.data.mongodb.core.mapping.Document;
@Document(collection = "product")
@Data
@ToString
@EqualsAndHashCode
@JsonInclude(JsonInclude.Include.NON_EMPTY)
public class Product {
@Id private String id;
@Indexed(unique = true)
private String name;
private boolean displayAds;
}
当我在 Swagger 中查看资源时,POST 方法显示如下:
这是我的存储库:
import org.springframework.data.mongodb.repository.MongoRepository;
public interface ProductRepository extends MongoRepository<Product, String> {
}
为什么会这样?有解决办法吗?我正在使用 springfox-swagger2
和 springfox-swagger-ui
.
无论如何它可以通过 Postman post 而无需添加这样的路径变量。
更新到 2.8.0 应该可以解决问题。
这似乎是 Springfox 版本 2.7.0 中的错误。应在 2.8.0 中修复,如突出显示 here.
我正在使用 MongoRepository。下面是我的实体 class:
import com.fasterxml.jackson.annotation.JsonInclude;
import lombok.Data;
import lombok.EqualsAndHashCode;
import lombok.ToString;
import org.springframework.data.annotation.Id;
import org.springframework.data.mongodb.core.index.Indexed;
import org.springframework.data.mongodb.core.mapping.Document;
@Document(collection = "product")
@Data
@ToString
@EqualsAndHashCode
@JsonInclude(JsonInclude.Include.NON_EMPTY)
public class Product {
@Id private String id;
@Indexed(unique = true)
private String name;
private boolean displayAds;
}
当我在 Swagger 中查看资源时,POST 方法显示如下:
这是我的存储库:
import org.springframework.data.mongodb.repository.MongoRepository;
public interface ProductRepository extends MongoRepository<Product, String> {
}
为什么会这样?有解决办法吗?我正在使用 springfox-swagger2
和 springfox-swagger-ui
.
无论如何它可以通过 Postman post 而无需添加这样的路径变量。
更新到 2.8.0 应该可以解决问题。
这似乎是 Springfox 版本 2.7.0 中的错误。应在 2.8.0 中修复,如突出显示 here.