REST API请求正文包含数据库主键

时间:2018-05-05 13:05:16

标签: java rest

由于我是新手,我的问题可能非常简单。我用谷歌搜索,但没有找到一个令人信服的答案我的问题。在开发REST API时,API的目的是创建一个由现有学生组成的团队。 POST方法,截至目前,请求正文将在请求正文中保存学生ID(主键)。

请求正文在访问REST API时是否可以包含Tables主键?

2 个答案:

答案 0 :(得分:1)

是的,它可以。但是,将DB ID暴露给客户端并不是最佳做法。您可能需要通过唯一用户名或电子邮件来识别玩家。

答案 1 :(得分:1)

您可以使用加密器加密Id或主密钥,然后在服务器端接收时对其进行解密。这将保存漏洞问题,因为您将在服务器端验证ID,因此在传递Id的POST请求时无法保存恶意问题。

我将再次重新发布整个答案,但只是添加概述

@JsonIgnore
private Long PrimaryKey;
private String Id;
//Other variables
public Long getDecryptedPrimaryKey(){
  //Decryption Logic for Id value
}

Public String getId(){
 //Encryption Logic
}

这里当JSON Serialiser获取Id时,它将调用Id的getter,它将自动加密,而当你保存或更新数据时,你可以调用getDecryptedPrimaryKey来获取实际值。