我在一个个人项目中重新学习Java,Springboot。我有一个名为User
的实体,它通过jHipster
的自动生成脚手架进行管理。我还有一个UserProfile
,它是我创建的一个实体,用于保存额外的数据(因为我不想乱搞User
对象。现在,当我为UserProfile
公开RESTendpoint时,我希望GET调用包含user_id
作为JSON的一部分,PUT/POST调用接受user_id
用于UserProfile
,进行关联并仅持续存在。正在使用的ORM是Hibernate/JPA。我应该使用哪些Jackson注释来实现这一点?
我的用户对象是:
public class User {
@ToString.Exclude
@OneToOne(mappedBy = "user", orphanRemoval = true, fetch = FetchType.LAZY)
@Cache(usage = CacheConcurrencyStrategy.NONSTRICT_READ_WRITE)
@JsonIgnore
private UserProfile userProfile;
}
我的UserProfile
类是:
public class UserProfile {
@ToString.Exclude
@ApiModelProperty(value = "Linking the UserProfile to the base User object that is used for authentication")
@OneToOne(optional = false)
// Note: Not marking with 'NotNull' annotation since we will not want to update the User object when upserting the UerProfile
@JoinColumn(unique = true, nullable = false, insertable = true, updatable = false)
@JsonIgnoreProperties("userProfile")
private User user;
}
我的版本是:spring_boot_version=2.0.8。发布hibernate_version=5.2.17。最终
最后,我自己解决了这个问题。这篇SO帖子帮助我解决了这个问题。下面是我的域模型类,其中包含有效的注释:
public class User {
@ToString.Exclude
@OneToOne(mappedBy = "user", orphanRemoval = true, fetch = FetchType.LAZY)
@Cache(usage = CacheConcurrencyStrategy.NONSTRICT_READ_WRITE)
@JsonIgnore
private UserProfile userProfile;
}
public class UserProfile {
@ToString.Exclude
@ApiModelProperty(value = "Linking the UserProfile to the base User object that is used for authentication")
@OneToOne(optional = false)
// Note: Not marking with 'NotNull' annotation since we will not want to update the User object when upserting the UerProfile
@JoinColumn(unique = true, nullable = false, insertable = true, updatable = false)
@JsonIgnoreProperties(value = {"login", "password", "firstName", "lastName", "email", "activated", "langKey", "imageUrl", "resetDate"}, ignoreUnknown = true)
private User user;
}
我想知道是否可以有一个postendpoint来接受包含multipartfile和其他数据的json负载。例如,我的身体对象看起来像: 另一个相关的问题是,在用于上传文件https://spring.io/guides/gs/uploading-files/的springboot文档示例中,文件是请求路径的一部分,而不是有效负载。这对我来说似乎很奇怪,那么有没有一种方法可以将文件绑定到请求体?
我正在测试一个简单的后端,在SpringBoot架构的帮助下使用RESTfulWeb服务。现在我已经完成了后端,但是我无法使用访问、和方法(其他http方法工作-和) 用户控制器类 应用初始化器类 证券配置 MyUserDetails服务 JWTRequestFilter CORS滤波器 我发送了POSThttp://localhost:8080/api/v1/users{'name':'Char
问题内容: 我有以下POST请求表格(简化): 我尝试发送POST请求: 但它返回状态并带有以下注释: 请指出我的错误。我应该进行哪些更改才能使其正常工作? 问题答案: 您自己设置标题,包括边界。不要这样 会为您生成一个边界并将其设置在标头中,但是如果您 已经 设置了标头,那么生成的有效负载和标头将不匹配。只需将标题全部放下即可: 请注意,我还给了零件一个文件名(路径的基本名称)。 有关多部分PO
在将内容作为JSON调用REST上的WSO2数据服务时,我创建了一个服务,它要求我发送一个参数化的get,在我的例子中是 虽然我得到的是XML格式的响应,但在调用REST服务时,我没有得到JSON格式的响应。 使用curl尝试了多个选项:curl-i-h--header content-type:“application/json”“accept:application/json” 和Chrome
问题内容: 有没有一种方法可以将部分呈现为MVC的JSON响应的一部分返回HTML字符串? 问题答案: PartialViewResult和ViewResult都从ViewResultBase派生,因此相同的方法应该对两者都起作用。 使用上面线程中的代码,您将可以使用:
我想做一些类似的事情:创建AWS应用程序负载平衡器规则,该规则修剪请求的前缀,而不使用额外的反向代理,如nginx、httpd 使用AWS负载平衡器,将流量从URL(例如)重定向到条形图(如下所示): 但是只有GET请求被正确路由,POST、PUT等被路由为GET,所以我收到一个错误,因为我的控制器没有这些GET方法。 有没有办法用AWS负载平衡器做到这一点? 我联系的问题是2016年的,所以我希