在 CXF(2.7.10) - RESTful Services 介绍了 REST 风格的 WebService 服务,数据传输是基于 XML 格式的。如果要基于 JSON 格式传输数据,仅需要将注解 @Produces("application/xml") 修改为 @Produces("application/json")。
package com.huey.demo.ws; import java.util.List; import javax.jws.WebService; import javax.ws.rs.DELETE; import javax.ws.rs.GET; import javax.ws.rs.POST; import javax.ws.rs.PUT; import javax.ws.rs.Path; import javax.ws.rs.PathParam; import javax.ws.rs.Produces; import javax.ws.rs.core.MediaType; import com.huey.demo.bean.Book; import com.huey.demo.bean.ResultMsg; @WebService public interface BookService { @GET // 指定请求方式 @Path("/book/{isbn}") // 指定资源的 URI @Produces( { MediaType.APPLICATION_JSON } ) // 指定请求/响应的媒体类型 public Book getBook(@PathParam("isbn") String isbn); @GET @Path("/books") @Produces( { MediaType.APPLICATION_JSON } ) public List<Book> getBooks(); @POST @Path("/book") @Produces( { MediaType.APPLICATION_JSON } ) public ResultMsg addBook(Book book); @PUT @Path("/book/{isbn}") @Produces( { MediaType.APPLICATION_JSON } ) public ResultMsg updateBook(@PathParam("isbn") String isbn, Book book); @DELETE @Path("/book/{isbn}") @Produces( { MediaType.APPLICATION_JSON } ) public ResultMsg deleteBook(@PathParam("isbn") String isbn); }
测试。
a) getBooks
b) getBook
c) addBook
d) updateBook
e) deleteBook