我对 JAX-RS 和 RESTEasy 很陌生,有一件事我真的不明白。首先我来描述一下我们做了什么:
关于HTTP 状态代码的RFC,我理解 POST 方法不应该有自动重定向。我本以为会引发异常。相反,这个问题会被忽略,让客户端应用程序根本没有机会检测到它刚刚发出的调用没有到达它应该到达的地方。为什么会出现这种情况以及我该如何正确执行此操作?
我不相信像 RESTEasy 这样的库不允许正确处理这种情况,所以我确信我使用它是错误的。不幸的是,即使经过几个小时的谷歌搜索,我仍然没有找到我的问题的答案。我希望这里有人能启发我。
为了重现该问题并允许与其他 JAX-RS 实现进行比较,我将一个小型演示应用程序上传到了Github。它只需要 Maven 和 JDK 8 即可运行。
先感谢您,
马丁
我有一个概念性的问题,我希望有人可能有答案.
我有一个RESTful服务,它为单一类型的实体提供类似CRUD的操作.实体(让我们称之为命令)使用Jackson表示为JSON.Jackson注释直接附加到实体类,没有明确的数据传输层.实体类包含许多属性,一对一和一对多关系.
从技术上讲,它基于Wildfly 10,JAX-RS 2.0和JPA 2.1(使用Hibernate 5).
目前支持的操作是:
orders/123 读取实体EntityManager.findorders/123 创建或替换实体EntityManager.persistEntityManager.merge该实体的简化版本如下所示:
@Entity
@Table(name = "order")
@JsonIgnoreProperties(ignoreUnknown = true)
@JsonInclude(Include.NON_EMPTY)
public class Order {
@Id
@SequenceGenerator(name = "order_id", sequenceName = "order_id_seq", allocationSize=1)
@GeneratedValue(strategy=GenerationType.SEQUENCE, generator="order_id")
@Column(name = "id")
private long id;
@Version
private long version;
@Column(name = "correlation_id", unique = true)
private long correlationId;
@OneToOne(mappedBy = "order", cascade = CascadeType.ALL, fetch = FetchType.EAGER)
@JsonManagedReference
private …Run Code Online (Sandbox Code Playgroud)