Spring boot restful api demo

1、Controller

package com.jiankunking.example.controller;

import com.jiankunking.example.model.Domain;
import com.jiankunking.example.model.Response;
import org.springframework.stereotype.Controller;

import org.springframework.web.bind.annotation.*;

import javax.servlet.http.HttpServletRequest;
import java.util.HashMap;


/**
 * Created by jiankunking on 2017/5/29 16:55.
 * curd restful api demo
 */
@Controller
@RequestMapping(value = "/api/test")
public class CrudController {
    /**
     * 新增
     * POST /api/test
     * 参数:
     *  {
            name: 'name',
            visible: 1,
            services: ['xx','yy'],
        }
     * @return
     */
    @ResponseBody
    @RequestMapping(method = RequestMethod.POST)
    public Response insertTest(@RequestBody Domain domain,
                                            HttpServletRequest request) {
        return Response.ok("新增成功!");
    }

    /**
     * 修改
     * PUT /api/test/${id}
     * @param
     * @return
     */
    @ResponseBody
    @RequestMapping(value = "/{id}", method = RequestMethod.PUT)
    public Response updateTest(@PathVariable(value = "id") String id, @RequestBody Domain domain,
                                            HttpServletRequest request) {
        return Response.ok("修改成功!");
    }

    /**
     * 删除
     * DELETE /api/test/${id}
     * @param id
     * @return
     */
    @ResponseBody
    @RequestMapping(value = "/{id}", method = RequestMethod.DELETE)
    public Response deleteTestById(@PathVariable(value = "id") String id) {
        return Response.ok("删除成功!");
    }

    /**
     * 查询
     * GET /api/test
     * 参数:{ sysId: '1' }
     * @return
     */
    @ResponseBody
    @RequestMapping(method = RequestMethod.GET)
    public Response getTestBySysId(@RequestParam(name = "sysId", required = true) String sysId) {
        HashMap map = new HashMap();
        map.put(1, 1);
        return Response.ok(map);
    }

    /**
     * 查询
     * GET /api/test/${id}
     * @return
     */
    @ResponseBody
    @RequestMapping(value = "/{id}", method = RequestMethod.GET)
    public Response getTestInfoByModuleId(@PathVariable(value = "id") String id) {
        HashMap map = new HashMap();
        map.put(2, 2);
        return Response.ok(map);
    }
}

2、entity

package com.jiankunking.example.model;

import lombok.Data;

import java.util.Date;

/**
 * Created by jiankunking on 2017/5/29 17:00.
 */
@Data
public class Domain {
    private String name;
    private int visible;
    private String[] services;
    private Date createTime;
}
package com.jiankunking.example.model;

import lombok.Getter;
import lombok.Setter;

import java.io.Serializable;

/**
 * Created by jiankunking on 2017/5/9 13:47.
 * 该类已简化
 */
public class Response<T> implements Serializable {
    private static final long serialVersionUID = -750644833749014618L;
    private T data;

    @Getter
    @Setter
    private Boolean isSuccess;

    public Response() {
        this.setIsSuccess(true);
    }

    public T getData() {
        return this.data;
    }

    public void setData(T data) {
        this.data = data;
    }

    public static <T> Response<T> ok(T data) {
        Response resp = new Response();
        resp.setData(data);
        resp.setIsSuccess(true);
        return resp;
    }

    public static <T> Response<T> fail(Integer code, String error) {
        Response resp = new Response();
        //resp.setCode(code);
        //resp.setMsg(error);
        resp.setIsSuccess(false);
        return resp;
    }
}

3、postman 细节

这里写图片描述

这里写图片描述

4、源码下载

http://download.csdn.net/detail/xunzaosiyecao/9855449

作者:jiankunking 出处:http://blog.csdn.net/jiankunking

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值