zoukankan      html  css  js  c++  java
  • spring 4 @RestController 小试

    在建立好基本的spring框架后,可以尝试实现一下简单的rest风格请求

    1、需要引入的包,部分pom.xml文件

    <dependency>
                <groupId>org.codehaus.jackson</groupId>
                <artifactId>jackson-mapper-asl</artifactId>
                <version>1.9.13</version>
            </dependency>
            <dependency>
                <groupId>com.fasterxml.jackson.core</groupId>
                <artifactId>jackson-core</artifactId>
                <version>2.5.1</version>
            </dependency>
            <dependency>
                <groupId>com.fasterxml.jackson.core</groupId>
                <artifactId>jackson-databind</artifactId>
                <version>2.5.1</version>
            </dependency>

    2、dispatcher-servlet.xml配置

    <?xml version="1.0" encoding="GBK"?>
    <beans xmlns="http://www.springframework.org/schema/beans"
        xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance" xmlns:tx="http://www.springframework.org/schema/tx"
        xmlns:jee="http://www.springframework.org/schema/jee" xmlns:context="http://www.springframework.org/schema/context"
        xmlns:p="http://www.springframework.org/schema/p" xmlns:mvc="http://www.springframework.org/schema/mvc"
        xmlns:util="http://www.springframework.org/schema/util"
        xsi:schemaLocation="http://www.springframework.org/schema/beans 
                            http://www.springframework.org/schema/beans/spring-beans-4.1.xsd
                            http://www.springframework.org/schema/context 
                            http://www.springframework.org/schema/context/spring-context-4.1.xsd
                            http://www.springframework.org/schema/tx
                            http://www.springframework.org/schema/tx/spring-tx-4.1.xsd
                            http://www.springframework.org/schema/jee 
                            http://www.springframework.org/schema/jee/spring-jee-4.1.xsd
                            http://www.springframework.org/schema/mvc
                            http://www.springframework.org/schema/mvc/spring-mvc-4.1.xsd
                            http://www.springframework.org/schema/util  
                            http://www.springframework.org/schema/util/spring-util-4.1.xsd">
        <mvc:annotation-driven />
        <context:annotation-config />
        <context:component-scan base-package="com.zf" />
    </beans>

    3、创建controller

    package com.zf.controller;
    
    import org.springframework.web.bind.annotation.RequestMapping;
    import org.springframework.web.bind.annotation.RestController;
    
    import com.zf.po.Message;
    import com.zf.po.ServiceType;
    
    @RestController
    @RequestMapping(value="/ajax")
    public class AjaxController {
    
        @RequestMapping(value="/json")
        public ServiceType jsonAction(){
            ServiceType st=new ServiceType();
            st.setId(1);
            st.setName("ServiceType没有使用xml相关注解,无论是否使用.json后缀,均返回json格式");
            st.setPriority(3);
            return st;
        }
        @RequestMapping(value="/html")
        public String htmlAction(){
            return "直接返回字符串,则视图一般html";
        }
        
        @RequestMapping(value="/xml")
        public Message xmlAction(){
            Message st=new Message();
            st.setText("无需带后缀,返回XML结构");
            st.setName("XML");
            return st;
        }
        @RequestMapping(value="/xml.json")
        public Message xmlJsonAction(){
            Message st=new Message();
            st.setText("message使用了xml相关的注解,使用.json后缀访问,仍返回json数据");
            st.setName("json");
            return st;
        }
    }

    4、两个简单类

    Message.java

    package com.zf.po;
    
    import javax.xml.bind.annotation.XmlElement;
    import javax.xml.bind.annotation.XmlRootElement;
    
    @XmlRootElement(name="root")
    public class Message {
        String name;
        String text;
        @XmlElement
        public String getName() {
            return name;
        }
        public void setName(String name) {
            this.name = name;
        }
        @XmlElement
        public String getText() {
            return text;
        }
        public void setText(String text) {
            this.text = text;
        }
    }

    ServiceType.java

    package com.zf.po;
    
    import java.io.Serializable;
    
    public class ServiceType implements Serializable, Cloneable {
    
        private static final long serialVersionUID = 1L;
        private int id;
        private String name;
        private int priority;
    
        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 int getPriority() {
            return priority;
        }
    
        public void setPriority(int priority) {
            this.priority = priority;
        }
    
    }

    5、启动tomcat后,可以尝试访问以下地址

    http://localhost:8080/study/ajax/html

    http://localhost:8080/study/ajax/json

    http://localhost:8080/study/ajax/xml.json

    http://localhost:8080/study/ajax/xml

  • 相关阅读:
    Pycharm软件更换pip默认安装源为国内安装源
    电商网站名词item>SKU与SPU
    Linux通过端口号查看使用进程结束进程
    window系统下的pycharm对虚拟机中的Ubuntu系统操作MySQL数据库
    JAVA项目常用的异常处理情况总结
    公文流转系统(未完成)
    《程序员修炼之道》读后感(三)
    Java文件操作递归遍历文件目录
    Java Web初试连接数据库完成学生信息录入
    JavaJFrame窗口实现新课程添加
  • 原文地址:https://www.cnblogs.com/mybest/p/4366290.html
Copyright © 2011-2022 走看看