RESTEasy通过接口管理配置
1,Webservice服务器端代码:
@Path("body") public interface BodyFormatService { @POST @Path("format/text") @Consumes(MediaType.TEXT_PLAIN) public String text(String input); @GET @POST @Path("format/xml") @Produces(MediaType.APPLICATION_XML) @Consumes(MediaType.APPLICATION_XML) public MyCustomer xml(MyCustomer input) ; @POST @Path("format/json") @Produces(MediaType.APPLICATION_JSON) @Consumes(MediaType.APPLICATION_JSON) public MyCustomer json(MyCustomer input); }
public class BodyFormatServiceBean implements BodyFormatService{ @Override public String text(String input) { System.out.println(input); return input; } @Override public MyCustomer xml(MyCustomer input) { System.out.println(input); return input; } @Override public MyCustomer json(MyCustomer input) { System.out.println(input); return input; } }
2,服务器端配置代码:
public class LibraryApplication extends Application { HashSet<Object> singletons = new HashSet<Object>(); public LibraryApplication() { //singletons.add(new BodyFormatService()); //之前代码BodyFormatService是一个类,而不是接口。 singletons.add(new BodyFormatServiceBean()); } @Override public Set<Class<?>> getClasses() { HashSet<Class<?>> set = new HashSet<Class<?>>(); return set; } @Override public Set<Object> getSingletons() { return singletons; } }