Compartilhamento de tecnologia

Introdução ao Spring MVC 2

2024-07-12

한어Русский языкEnglishFrançaisIndonesianSanskrit日本語DeutschPortuguêsΕλληνικάespañolItalianoSuomalainenLatina

Uso do carteiro

Continuando com a edição anterior, levantamos uma questão, o uso do Postman
Você pode clicar no link para baixar https://www.postman.com/downloads/
Insira a descrição da imagem aqui
Após a instalação, você será solicitado a atualizar a versão, basta clicar em dispensar.

Para enviar dados, as etapas específicas são as seguintes:

Insira a descrição da imagem aqui
Há também um diagrama mais específico que você pode dar uma olhada primeiro. Os parâmetros de solicitação nele serão discutidos mais tarde.Insira a descrição da imagem aqui

Mas atenção, você deve iniciar o projeto IDEA antes de enviá-lo, caso contrário não haverá resultados.
Vou enviar o código da última vez. Neste momento, iniciei o projeto na ideia, então o resultado é normal, mas se não iniciar deve estar anormal.

Insira a descrição da imagem aqui

O segundo ponto chave no aprendizado do Spring MVC – solicitações

Acessar caminhos diferentes significa enviar solicitações diferentes. Ao enviar uma solicitação, alguns parâmetros podem ser trazidos, portanto, aprender as solicitações do Spring envolve principalmente aprender como passar parâmetros para o backend e como o backend os recebe.
Para passar parâmetros, usamos principalmente o navegador e o Postman para simular.

Passe um único parâmetro

Vamos falar primeiro sobre nossa mensagem de erro básica:
404: Recurso não encontrado, provavelmente o servidor ou URL está incorreto.
400: Incompatibilidade de tipo
500: Poucos parâmetros passados

  • As etapas para passar parâmetros são as seguintes: Primeiro usamos o URL para passar os parâmetros (você pode usar o URL para passar os parâmetros, você também pode usar o Postman para passar os parâmetros, mas aqui usamos o URL para implementá-lo primeiro) . Conforme mostrado abaixo, o que segue o ponto de interrogação são os parâmetros que passamos.Lembre-se de ter nomes consistentes. Se forem inconsistentes, um código de status 400 será relatado.

Insira a descrição da imagem aqui

Passe vários parâmetros

Insira a descrição da imagem aqui

Quando existem vários parâmetros, quando o front e o backend realizam a correspondência de parâmetros, eles correspondem pelo nome do parâmetro. Neste momento, como o nome do parâmetro que passamos é consistente com o parâmetro formal, a posição do parâmetro o faz. não afeta o back end. Obtenha o resultado do parâmetro, portanto não será errado trocarmos o nome e o id.
Insira a descrição da imagem aqui
Na verdade, também pode criar um efeito semelhante à sobrecarga
Insira a descrição da imagem aqui

Matriz de passes

Neste momento, como os arrays são diferentes dos parâmetros comuns, podemos usar o Postman para passar parâmetros.

Insira a descrição da imagem aqui
A KEY no Postman deve ser consistente com os parâmetros que passamos, caso contrário não corresponderá, o que significa que este parâmetro não pode receber um valor, portanto o padrão é nulo.
Insira a descrição da imagem aqui

Mas existe alguma maneira de passarmos o nome do parâmetro se ele for diferente da KEY que passamos? Claro que existe uma maneira: só precisamos usar a anotação @RequestParam?
Em alguns casos especiais, a chave de parâmetro passada pelo front-end e a chave recebida pelo nosso back-end podem ser inconsistentes. Por exemplo, o front-end passa um array2 para o back-end e o back-end usa o campo do array para recebê-lo. , de modo que Haverá situações em que os parâmetros não poderão ser recebidos If.
Nesse caso, podemos usar @RequestParam para renomear os valores dos parâmetros do front e backend.
Insira a descrição da imagem aqui

Passar objeto

Algumas pessoas podem estar curiosas para saber como passar objetos. Na verdade, basta passar os atributos um por um. Não importa qual seja a ordem, nossa KEY é sempre consistente com os parâmetros formais, então não há necessidade de se preocupar com a ordem.
Insira a descrição da imagem aqui
A seguir está o código de Person, que é mais simples do que chamá-lo. Se estiver interessado, você pode copiá-lo diretamente e experimentá-lo.

public class Person {
    private int id;
    private String name;
    private String password;
    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 String getPassword() {
        return password;
    }
    public void setPassword(String password) {
        this.password = password;
    }
    @Override
    public String toString() {
        return "Person{" +
                "id=" + id +
                ", name='" + name + ''' +
                ", password='" + password + ''' +
                '}';
    }
}

  • 1
  • 2
  • 3
  • 4
  • 5
  • 6
  • 7
  • 8
  • 9
  • 10
  • 11
  • 12
  • 13
  • 14
  • 15
  • 16
  • 17
  • 18
  • 19
  • 20
  • 21
  • 22
  • 23
  • 24
  • 25
  • 26
  • 27
  • 28
  • 29
  • 30
  • 31
  • 32
Coleta de passes

Você precisa usar a anotação @RequestParam.
Semelhante às matrizes, o mesmo nome de parâmetro de solicitação pode ser múltiplo e @RequestParam precisa ser usado para vincular o relacionamento do parâmetro. Por padrão, vários valores com o mesmo nome de parâmetro na solicitação são encapsulados em uma matriz. para encapsular em uma coleção, para usar @RequestParam para vincular relacionamentos de parâmetros
Insira a descrição da imagem aqui
Se esta anotação não for usada, 500 serão reportados:
Insira a descrição da imagem aqui
Como o método de passagem de objetos acima é relativamente complicado, na próxima edição apresentaremos outro método de passagem de objetos, a representação de dados JSON.

Resposta à pergunta restante: @RequestMapping suporta postagem ou obtenção?

Se você tentou todos os exemplos acima, você mesmo poderá persuadir e verificar esse problema.
As etapas de verificação são as seguintes
Insira a descrição da imagem aqui

Insira a descrição da imagem aqui
Insira a descrição da imagem aqui
Após a mudança, descobrimos que ele pode suportar get e post.