RESTEasy通过接口管理配置

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;
    }
}

猜你喜欢

转载自jerval.iteye.com/blog/2233196