4

Java Restful接口(举例)

 2 years ago
source link: https://samtake.github.io/2020/07/23/Java-Restful%E6%8E%A5%E5%8F%A3-%E4%B8%BE%E4%BE%8B/
Go to the source link to view the article. You can view the picture content, updated content and better typesetting reading experience. If the link is broken, please click the button below to view the snapshot at that time.
neoserver,ios ssh client

Java Restful接口(举例)

Posted on

2020-07-23 Edited on 2020-07-30
package com.samjava.mall.controller;

import com.samjava.mall.AjaxResponse;
import com.samjava.mall.model.Article;
import lombok.extern.slf4j.Slf4j;
import org.springframework.web.bind.annotation.*;

import java.util.Date;

@Slf4j
@RestController
@RequestMapping("/rest") //请求前缀。
public class ArticleController {

//查询一篇文章,根据ID
// @RequestMapping(value = "/articles/{id}",method = RequestMethod.GET)
@GetMapping("/articles/{id}")
public AjaxResponse getArticle(@PathVariable("id") Long id){

Article article = Article.builder()
.id(1L)
.author("Sam")
.content("内容内容")
.createTime(new Date())
.title("tittle1").build();
log.info("getArticle:"+article);
return AjaxResponse.success(article);
}


//新增一篇文章
// @RequestMapping(value = "/articles",method = RequestMethod.POST)
@PostMapping("/articles")
public AjaxResponse saveArticle(@RequestBody Article article){
log.info("saveArticle:"+ article);

return AjaxResponse.success();
}


//修改一篇文章
// @RequestMapping(value = "/articles",method = RequestMethod.PUT)
@PutMapping("/articles")
public AjaxResponse updateArticle(@RequestBody Article article){

// if(article.getId() == null){
// //
// }

log.info("updateArticle:"+article);
return AjaxResponse.success();
}

//删除一篇文章
// @RequestMapping(value = "/articles/{id}",method = RequestMethod.DELETE)
@DeleteMapping("/articles/{id}")
public AjaxResponse deleteArticle(@PathVariable("id") Long id){

log.info("deleteArticle:"+id);
return AjaxResponse.success();
}

}
package com.samjava.mall;
import lombok.Data;

@Data
public class AjaxResponse {
private boolean isok;
private int code;
private String message;
private Object data;


public AjaxResponse(){}

public static AjaxResponse success () {
AjaxResponse ajaxResponse = new AjaxResponse();
ajaxResponse.setIsok(true);
ajaxResponse.setCode(200);
ajaxResponse
.setMessage("delete success ");
return ajaxResponse;
}


public static AjaxResponse success (Object obj) {
AjaxResponse ajaxResponse = new AjaxResponse();
ajaxResponse.setIsok(true);
ajaxResponse.setCode(200);
ajaxResponse
.setMessage("query success ");
ajaxResponse.setData(obj);
return ajaxResponse;
}


public static AjaxResponse success (Object obj,String msg ) {
AjaxResponse ajaxResponse = new AjaxResponse();
ajaxResponse.setIsok(true);
ajaxResponse.setCode(200);
ajaxResponse
.setMessage(msg);
ajaxResponse.setData(obj);
return ajaxResponse;
}
}
spring:
jackson:
date-format: yyyy-MM-dd HH:mm:ss
time-zone: GMT+8

http协议与Spring参数接收注解

1.jpeg

Spring请求响应处理流程

ResponseBody & RequestBody


About Joyk


Aggregate valuable and interesting links.
Joyk means Joy of geeK