Notes d'étude SpringMVC -11 Style RestFul

RestFul est un style de positionnement et d'exploitation des ressources, ce n'est ni un standard ni un protocole. Logiciel basé sur ce style

Peut être plus concis, plus hiérarchique et plus facile à implémenter le mécanisme de mise en cache.

La manière traditionnelle de faire fonctionner Internet est réalisée grâce à différents paramètres, et les méthodes de demande sont post and get. Pour différentes demandes, nous devons utiliser différents chemins de demande:

localhost:8080/item/query?id=1
localhost:8080/item/add
localhost:8080/item/update
localhost:8080/item/delete?id=1

En utilisant le style RestFul, nous pouvons garder le chemin de la requête inchangé et appeler différentes méthodes via différentes méthodes de requête pour réaliser différentes fonctions:

localhost:8080/item/1   GET请求
localhost:8080/item     POST请求
localhost:8080/item     PUT请求
localhost:8080/item/1   DELETE请求

Regardez d'abord la méthode de requête traditionnelle: uri? Paramètre 1 = valeur 1 & paramètre 2 = valeur 2 ...

package com.zzt.Controller;

import org.springframework.stereotype.Controller;
import org.springframework.ui.Model;
import org.springframework.web.bind.annotation.RequestMapping;

@Controller
public class RestFulController {
    @RequestMapping("/add")
    public String test(int a, int b, Model model){
        model.addAttribute("msg",a+b);
        return "test";
    }
}
<%@ page contentType="text/html;charset=UTF-8" language="java" %>
<html>
<head>
    <title>Title</title>
</head>
<body>
    ${msg}
</body>
</html>

Annotation @PathVariable: utilisée pour implémenter le style RestFul

package com.zzt.Controller;

import org.springframework.stereotype.Controller;
import org.springframework.ui.Model;
import org.springframework.web.bind.annotation.PathVariable;
import org.springframework.web.bind.annotation.RequestMapping;

@Controller
public class RestFulController {
    @RequestMapping("/add/{a}/{b}")
    public String test(@PathVariable int a,@PathVariable int b, Model model){
        model.addAttribute("msg",a+b);
        return "test";
    }
}

En prenant le code ci-dessus comme exemple, @PathVariable spécifie que la valeur du paramètre -int a provient de {a} dans uri, et la valeur du paramètre -int b vient de {b} dans uri

À ce stade, il sera erroné d'accéder de manière traditionnelle, et vous devez utiliser le style RestFul pour recevoir les paramètres:

Rappelez-vous que nous avons mentionné que @RequestMapping peut définir la méthode de requête? Oui, il peut être combiné avec cet attribut. (Bien sûr, SpringMVC fournit également des sous-annotations, @GetMapping, @PostMapping, etc.).

    @GetMapping("/add/{a}/{b}")
    public String testGet(@PathVariable int a,@PathVariable int b, Model model){
        model.addAttribute("msg","get请求到达 : " + (a + b));
        return "test";
    }

    @PostMapping("/add/{a}/{b}")
    public String testPost(@PathVariable int a,@PathVariable int b, Model model){
        model.addAttribute("msg","post请求到达 : "+ (a+b));
        return "test";
    }
<body>
    <a href="add/1/2">get提交方式
    <form action="add/3/4" method="post">
        <input type="submit" value="提交">
    </form>
</body>

Avantages de RestFul: concis (élimine le problème de l'utilisation des noms de paramètres), efficace (mécanisme de mise en cache) et sûr (car la requête ne porte pas de noms de paramètres)

 

 

 

 

 

 

 

 

 

 

Je suppose que tu aimes

Origine blog.csdn.net/qq_39304630/article/details/113094840
conseillé
Classement