Hug*_*res 2 java rest json jax-rs marshalling
我在尝试用JAX-RS解决此问题时遇到了麻烦,我认为这与编组/解组过程有关(我想我不太了解),我想重新创建此:
进行发布的REST端点是/ rest / register,因此我的服务定义如下:
@ApplicationPath("/rest")
public interface RestRegistration {
@POST
@Path("/register")
@Produces(MediaType.APPLICATION_JSON)
@Consumes(MediaType.APPLICATION_JSON)
String register(UsernameRegistration usernameAccess, String network) throws RegistrationException;
@POST
@Path("/register")
@Produces(MediaType.APPLICATION_JSON)
@Consumes(MediaType.APPLICATION_JSON)
String register(EmailRegistration emailAccess, String network) throws RegistrationException;
}
public class RestRegistrationImpl implements RestRegistration {
public String register(UsernameRegistration usernameAccess, String network) throws RegistrationException {
return "StackOverflow example: username=" + usernameAccess.getUser + ", network="+network;
}
public String register(EmailRegistration emailAccess, String network) throws RegistrationException{
return "StackOverflow example: email=" + emailAccess.getEmail + ", network="+network;
}
}
Run Code Online (Sandbox Code Playgroud)它应该至少接收两个不同的JSON消息:
{ "usernameAccess" : { "user" : "AUser", "password" : "APass"}, "network" : "Facebook"}
Run Code Online (Sandbox Code Playgroud)
要么...
{ "emailAccess" : { "email" : "AnEmail@domain.com", "password" : "APass"}, "network" : "LinkedIn"}
Run Code Online (Sandbox Code Playgroud)这些类由
public abstract class Registration {
private Long _id;
private String _password;
private String _network;
// usual getters and setters...
}
public class UsernameRegistration extends Registration {
private String _user;
// usual getters and setters...
}
public class EmailRegistration extends Registration {
private String _email;
// usual getters and setters...
}
Run Code Online (Sandbox Code Playgroud)所以,我现在的问题是:
是否有任何书目,文章或如何将某人交给我?提前致谢!:)
在杰克逊,你的继承结构需要包含@JsonTypeInfo并@JsonSubTypes与@JsonSubTypes.Type每个实现的,你要注册。JsonTypeInfo将需要一个唯一的标识符来区分类型。
| 归档时间: |
|
| 查看次数: |
2153 次 |
| 最近记录: |