java 创建rest服务生成xml(**不要忘记使用@XmlRootElement注释对象类以告诉服务器公开自己)
Posted
tags:
篇首语:本文由小常识网(cha138.com)小编为大家整理,主要介绍了java 创建rest服务生成xml(**不要忘记使用@XmlRootElement注释对象类以告诉服务器公开自己)相关的知识,希望对你有一定的参考价值。
<?xml version="1.0" encoding="UTF-8"?>
<!-- This web.xml file is not required when using Servlet 3.0 container,
see implementation details http://jersey.java.net/nonav/documentation/latest/jax-rs.html -->
<web-app version="2.5" xmlns="http://java.sun.com/xml/ns/javaee" xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance" xsi:schemaLocation="http://java.sun.com/xml/ns/javaee http://java.sun.com/xml/ns/javaee/web-app_2_5.xsd">
<servlet>
<servlet-name>Jersey Web Application</servlet-name>
<servlet-class>org.glassfish.jersey.servlet.ServletContainer</servlet-class>
<init-param>
<param-name>jersey.config.server.provider.packages</param-name>
<param-value>com.pluralsight</param-value>
</init-param>
<load-on-startup>1</load-on-startup>
</servlet>
<servlet-mapping>
<servlet-name>Jersey Web Application</servlet-name>
<url-pattern>/webapi/*</url-pattern>
</servlet-mapping>
</web-app>
package com.pluralsight;
import java.util.List;
import javax.ws.rs.GET;
import javax.ws.rs.Path;
import javax.ws.rs.Produces;
import javax.ws.rs.core.MediaType;
import com.pluralsight.model.Activity;
import com.pluralsight.repository.ActivityRepository;
import com.pluralsight.repository.ActivityRepositoryStub;
@Path("activities")
public class ActivityResource {
private ActivityRepository activityRepository = new ActivityRepositoryStub();
@GET
@Produces(MediaType.APPLICATION_XML)
public List<Activity> getAllActivities(){
return activityRepository.findAllActivities();
}
}
package com.pluralsight.repository;
import java.util.ArrayList;
import java.util.List;
import com.pluralsight.model.Activity;
public class ActivityRepositoryStub implements ActivityRepository {
/* (non-Javadoc)
* @see com.pluralsight.repository.ActivityRepository#findAllActivities()
*/
@Override
public List<Activity> findAllActivities(){
List<Activity> activities = new ArrayList<Activity>();
Activity activity1 = new Activity();
activity1.setDescription("Swimming");
activity1.setDuration(55);
activities.add(activity1);
Activity activity2 = new Activity();
activity2.setDescription("Cycling");
activity2.setDuration(120);
activities.add(activity2);
return activities;
}
}
package com.pluralsight.repository;
import java.util.List;
import com.pluralsight.model.Activity;
public interface ActivityRepository {
List<Activity> findAllActivities();
}
package com.pluralsight.model;
import javax.xml.bind.annotation.XmlRootElement;
@XmlRootElement
public class Activity {
private String description;
private int duration;
public String getDescription() {
return description;
}
public void setDescription(String description) {
this.description = description;
}
public int getDuration() {
return duration;
}
public void setDuration(int duration) {
this.duration = duration;
}
}
以上是关于java 创建rest服务生成xml(**不要忘记使用@XmlRootElement注释对象类以告诉服务器公开自己)的主要内容,如果未能解决你的问题,请参考以下文章
SOAP/WSDL/XSD 和 REST 方法之间的比较
java采用jdom生成xml时如何生成&,不要带有amp
为 WCF REST 服务生成示例数据?
会话管理:如何为 REST 服务生成身份验证令牌? (球衣)
spring之IOC实现的其他方式
如何在Java客户端调用RESTful服务