相关疑难解决方法(0)

如何防止从我的MongoRepository导出某些HTTP方法?

我正在使用spring-data-rest,我有一个像这样的MongoRepository:

@RepositoryRestResource
interface MyEntityRepository extends MongoRepository<MyEntity, String> {
}
Run Code Online (Sandbox Code Playgroud)

我想允许GET方法,但禁用PUT,POST,PATCH和DELETE(只读Web服务).

根据http://docs.spring.io/spring-data/rest/docs/2.2.2.RELEASE/reference/html/#repository-resources.collection-resource,我应该能够这样做:

@RepositoryRestResource
interface MyEntityRepository extends MongoRepository<MyEntity, String> {

    @Override
    @RestResource(exported = false)
    public MyEntity save(MyEntity s);

    @Override
    @RestResource(exported = false)
    public void delete(String id);

    @Override
    @RestResource(exported = false)
    public void delete(MyEntity t);
}
Run Code Online (Sandbox Code Playgroud)

它似乎不起作用,因为我仍然可以执行PUT,POST,PATCH和DELETE请求.

spring spring-data spring-data-rest spring-data-mongodb

25
推荐指数
2
解决办法
8646
查看次数

JPA中绝对必要的列注释?

我有另一个关于JPA的问题.如果我想将它存储在我的数据库中,是否有必要使用@Column注释每个成员变量?或者是否可以通过某些成员变量(在这些示例中为"timestamp"字段)将其遗漏,并且此字段将在每个可能的方案中存储在数据库中:

@Entity
@Table(name = "usercontent")
public class UserContentEntity implements Persistable<Long> {

   /** serialVersionUID */
   private static final long serialVersionUID = 1L;

   @Id
   @GeneratedValue(strategy = GenerationType.AUTO)
   private Long id;

   @Column(name = "description")
   private String contentdescription;

   @Column(name = "name")
   private String contentname;

   @Column(name = "bytes")
   @Lob
   private byte[] contentbytes;

   @Column
   private String creator;

   private Date timestamp;


   // get- and set methods
}
Run Code Online (Sandbox Code Playgroud)

当使用注释@Column是绝对必要的吗?

非常感谢Maik

java jpa

19
推荐指数
1
解决办法
7996
查看次数