springboot开发restful风格接口

目录如下:

springboot开发restful风格接口_第1张图片

新建Account类

package net.yali.www.helloworld.pojo;


public class Account {
    private Long id;
    private String accountName;
    private Double balance;
    private String note;

    public Long getId() {
        return id;
    }

    public void setId(Long id) {
        this.id = id;
    }

    public String getAccountName() {
        return accountName;
    }

    public void setAccountName(String accountName) {
        this.accountName = accountName;
    }

    public Double getBalance() {
        return balance;
    }

    public void setBalance(Double balance) {
        this.balance = balance;
    }

    public String getNote() {
        return note;
    }

    public void setNote(String note) {
        this.note = note;
    }
}

新建ResultMessage类

package net.yali.www.helloworld.pojo;



public class ResultMessage {

    private boolean success;
    private String message;

    public ResultMessage() {
    }

    public ResultMessage(boolean success, String message) {
        this.success = success;
        this.message = message;
    }

    public boolean isSuccess() {
        return success;
    }

    public void setSuccess(boolean success) {
        this.success = success;
    }

    public String getMessage() {
        return message;
    }

    public void setMessage(String message) {
        this.message = message;
    }
}

新建AccountController类

package net.yali.www.helloworld.controller;

import net.yali.www.helloworld.pojo.Account;
import net.yali.www.helloworld.pojo.ResultMessage;
import org.springframework.stereotype.Controller;
import org.springframework.web.bind.annotation.*;

/** imports **/
@Controller
@RequestMapping("/fund")
public class AccountController {
    // 返回账户thymeleaf页面
    @GetMapping("/account/page")
    public String page() {
        return "account";//返回的是一个thymeleaf页面
    }
    @GetMapping("/account/{id}") // @GetMapping代表GET请求
    @ResponseBody // 结果转换为JSON
    public Account getAccount(@PathVariable Long id) {
        Account account = new Account();
        account.setId(id);
        account.setAccountName("account_" + id);
        double balance = id %10 * 10000.0 * Math.random();
        account.setBalance(balance);
        account.setNote("note_" + id);
        return account;
    }
    @PostMapping("/account") // POST请求
    @ResponseBody
    public Account createAccount(@RequestBody Account account) {
        long id = (long)(10000.0*Math.random());
        account.setId(id);
        return account;
    }
    @PutMapping("/account") // HTTP PUT请求
    @ResponseBody
    public ResultMessage updateAccount(@RequestBody Account account) {
        System.out.println("更新账户");
        return new ResultMessage(true, "更新账户成功");
    }
    @DeleteMapping("/account/{id}") // DELETE请求
    @ResponseBody
    public ResultMessage deleteAccount(@PathVariable("id") Long id) {
        System.out.println("删除账户");
        return new ResultMessage(true, "删除账户成功");
    }
}

注解@GetMapping,这是Spring 4.3版本后的注解,代表HTTP的GET请求。

@PostMapping代表POST请求,

@PutMapping代表PUT请求,

@DeleteMapping代表DELETE请求……

@ResponseBody则代表表现层(展示数据类型)为JSON数据集。

运行HelloWorldapplication,使用postman访问接口

get方法

springboot开发restful风格接口_第2张图片

post方法

springboot开发restful风格接口_第3张图片

 put方法

这里还遇到一个问题刚开始ResultMessage没写get和set方法,导至put方法请求时,报错406not accepted加上get和set方法就可以了。

springboot开发restful风格接口_第4张图片

 DELETE方法

springboot开发restful风格接口_第5张图片

 

你可能感兴趣的:(python+java,spring,boot,restful,java)