备忘笔记:关于写一个输出为Jackson格式(如xml、json)的api的小笔记

package swift.edas.web;

import java.util.Date;

import javax.servlet.http.HttpServletRequest;
import javax.servlet.http.HttpServletResponse;

import org.springframework.stereotype.Controller;
import org.springframework.web.bind.annotation.RequestMapping;
import org.springframework.web.bind.annotation.ResponseBody;

import com.fasterxml.jackson.dataformat.xml.annotation.JacksonXmlProperty;
import com.fasterxml.jackson.dataformat.xml.annotation.JacksonXmlRootElement;

@Controller
public class Tests {

    @JacksonXmlRootElement(localName="something")
    static class Something {
        @JacksonXmlProperty(isAttribute=true)
        int id;
        String name;
        Date time;
        public Something(String name) {
            id = (int)(Math.random() * 1000);
            this.name = name;
            time = new Date();
        }
        public int getId() {
            return id;
        }
        public void setId(int id) {
            this.id = id;
        }
        public String getName() {
            return name;
        }
        public void setName(String name) {
            this.name = name;
        }
        public Date getTime() {
            return time;
        }
        public void setTime(Date time) {
            this.time = time;
        }
    }

    @RequestMapping(value="/test/hello.xml")
    public @ResponseBody Object helloXml(HttpServletRequest request, HttpServletResponse response) {
        return new Something("hello");
    }

    @RequestMapping(value="/test/hello.json")
    public @ResponseBody Object helloJson(HttpServletRequest request, HttpServletResponse response) {
        return new Something("hello");
    }

}

你可能感兴趣的:(菜鸟新手学习之路,小笔记)