configuração de arrogância e desenvolvimento estilo repousante

A, swagger2 integração springboot

1,1 dependência introduzido

 <!-- swagger2 接口文档 -->
<dependency>
	<groupId>io.springfox</groupId>
	<artifactId>springfox-swagger2</artifactId>
</dependency>
 <!-- swagger2的页面 -->
 <dependency>
 	<groupId>com.github.xiaoymin</groupId>
 	<artifactId>swagger-bootstrap-ui</artifactId>
 </dependency>

 <!--书写配置文件提示的依赖-->
 <dependency>
 	<groupId>org.springframework.boot</groupId>
 	<artifactId>spring-boot-configuration-processor</artifactId>
	<optional>true</optional>
 </dependency>

1.2 Criando uma classe propriedade de configuração

Use o Lombok. Em uso, a ficha de montagem e embalagem Lombok importado

package com.zxm.config;

import lombok.Data;
import org.springframework.boot.context.properties.ConfigurationProperties;

@Data
@ConfigurationProperties(prefix = "swagger2")
public class SwaggerProperties {
    /**
     * 要对那个包的Controller 做文档的生成
     */
    private String basePackage;
    /**
     * 作者的名称
     */
    private String name ;
    /**
     * 主页
     */
    private String url;
    /**
     * 邮箱
     */
    private String email ;
    /**
     * 标题
     */
    private String title ;
    /**
     * 描述
     */
    private String description ;
    /**
     * 服务的团队
     */
    private String termsOfServiceUrl;
    /**
     * 授权信息
     */
    private String license ;
    /**
     * 授权的url
     */
    private String licenseUrl ;
    /**
     * swagger2的版本
     */
    private String version;
}

1.3 Criação de classe de configuração automática

package com.zxm.config;

import io.swagger.models.Swagger;
import org.springframework.boot.context.properties.EnableConfigurationProperties;
import org.springframework.context.annotation.Bean;
import org.springframework.context.annotation.Configuration;
import springfox.documentation.RequestHandler;
import springfox.documentation.builders.ApiInfoBuilder;
import springfox.documentation.builders.RequestHandlerSelectors;
import springfox.documentation.service.ApiInfo;
import springfox.documentation.service.Contact;
import springfox.documentation.spi.DocumentationType;
import springfox.documentation.spring.web.plugins.Docket;
import springfox.documentation.swagger2.annotations.EnableSwagger2;

@Configuration
@EnableSwagger2  // 开启swagger的功能
@EnableConfigurationProperties(SwaggerProperties.class)
public class SwaggerAutoConfiguration {
    private SwaggerProperties swaggerProperties;
    public SwaggerAutoConfiguration(SwaggerProperties swaggerProperties){
        this.swaggerProperties = swaggerProperties;
    }

    @Bean
    public Docket docket(){
        return new Docket(DocumentationType.SWAGGER_2)
                .apiInfo(getApiInfo())
                .select().apis(RequestHandlerSelectors.basePackage(this.swaggerProperties.getBasePackage())).build();
    }

    private ApiInfo getApiInfo() {
        Contact contact = new Contact(this.swaggerProperties.getName(), this.swaggerProperties.getUrl(), this.swaggerProperties.getEmail());
        return new ApiInfoBuilder().
                contact(contact).
                title(this.swaggerProperties.getTitle()).
                description(this.swaggerProperties.getDescription()).
                termsOfServiceUrl(this.swaggerProperties.getTermsOfServiceUrl()).
                license(this.swaggerProperties.getLicense()).
                licenseUrl(this.swaggerProperties.getLicenseUrl()).
                version(this.swaggerProperties.getVersion()).
                build();
    }
}

1,4 libertação swagger2 no shiro

O não uso shiro não pode ser definido
[Imagem despejar a cadeia falhar, a estação de origem pode ter mecanismo de cadeia de segurança, recomenda-se para salvar a imagem para baixo carregado diretamente (img-6lSPG6oa-1585211962853) (ativos / 1583077495400.png)]

1.5 Configurando Informações Pessoais

[Imagem despejar a cadeia falhar, a estação de origem pode ter mecanismo de cadeia de segurança, recomenda-se para salvar a imagem para baixo carregado diretamente (img-qiy4XrMb-1585211962855) (ativos / 1583077322375.png)]

1.5 página de Acesso

http: // localhost: 8085 / doc.html

[Imagem despejar a cadeia falhar, a estação de origem pode ter mecanismo de cadeia de segurança, recomenda-se para salvar a imagem para baixo carregado diretamente (img-1xAjdlJA-1585211962856) (ativos / 1583077557021.png)]

Dois, MyBatis-plus configuração guia

@Configuration
public class MybatisConfig {

    /**
     * 分页的拦截器
     * @return
     */
    @Bean
    public PaginationInterceptor paginationInterceptor(){
        PaginationInterceptor paginationInterceptor = new PaginationInterceptor();
        paginationInterceptor.setDialectType("mysql") ;
        return  paginationInterceptor ;
    }
}

Três, design de interface Restful

consulta 3.1 paginação

Um mínimo de dois parâmetros de solicitação: página atual

SYSUSER -> sys / user / página

例: http: // localhost: 8001 / proxyApi / sys / user / página t = 1582615122917 & atual = 1 & size = 10

elemento manifestações
método de solicitação obter
parâmetro de solicitação Integer atual: A página página Integer atual: o número de peças por página
O valor de retorno IPage
solicitação de URL $ {Base_url} / nome da tabela / página

3.2 Eco dados única

elemento manifestações
método de solicitação obter
parâmetro de solicitação parâmetro id longo para o id url
O valor de retorno SYSUSER
solicitação de URL $ {Base_url} / table name / info / {id}

Por exemplo: a gestão eco

/ Sys / user / info / 1

3.3 dados de exclusão

elemento manifestações
método de solicitação excluir
parâmetro de solicitação parâmetro id longo para o id url
O valor de retorno Vazio
solicitação de URL $ {Base_url} / nome da tabela / {id}

3.4 Excluir um conjunto de (exclusão em massa)

elemento manifestações
método de solicitação excluir
parâmetro de solicitação ids lista
O valor de retorno Vazio
solicitação de URL $ {Base_url} / nome da tabela

parâmetros de solicitação: Json dados: [id1, ID2 ...]

3.5 uma nova dados

elemento manifestações
método de solicitação postar
parâmetro de solicitação SYSUSER SYSUSER
O valor de retorno Vazio
solicitação de URL $ {Base_url} / nome da tabela

parâmetros de solicitação: novos dados do objeto json

3.6 dados de consulta completa

elemento manifestações
método de solicitação obter
parâmetro de solicitação não
O valor de retorno Lista
solicitação de URL Nome $ {base_url} / mesa / list

Em quarto lugar, a exemplo do uso de estilo repousante

package com.sxt.controller;

import com.baomidou.mybatisplus.core.metadata.IPage;
import com.baomidou.mybatisplus.extension.plugins.pagination.Page;
import com.sxt.entity.SysUser;
import com.sxt.service.SysUserService;
import io.swagger.annotations.ApiOperation;
import org.apache.shiro.SecurityUtils;
import org.springframework.beans.factory.annotation.Autowired;
import org.springframework.http.ResponseEntity;
import org.springframework.web.bind.annotation.*;

import java.util.List;

@RestController
@RequestMapping("/sys/user")
public class UserController {

    @Autowired
    private SysUserService sysUserService ;

    /**
     * 分页查询
     */
    @GetMapping("/page")
    @ApiOperation("分页的查询")
    public ResponseEntity<IPage<SysUser>> findByPage(
            @RequestParam(defaultValue = "1") Integer current,
            @RequestParam(defaultValue = "10") Integer size
    ){
        IPage<SysUser> page = sysUserService.page(new Page<>(current, size));
        return ResponseEntity.ok(page) ;
    }

    /**
     * 删除单个值
     * @param id
     * @return
     */
    @DeleteMapping("/{id}")
    @ApiOperation("删除单个值")
    public ResponseEntity<Void> delete(@PathVariable("id")Long id){
        sysUserService.removeById(id);
        return  ResponseEntity.ok().build() ;
    }

    /**
     * 删除多个值
     */
    @DeleteMapping
    @ApiOperation("删除多个值")
    public ResponseEntity<Void> delete(@RequestBody List<Long> ids){
        sysUserService.removeByIds(ids);
        return  ResponseEntity.ok().build() ;
    }

    /**
     * 回显一个值
     */
    @GetMapping("/info/{id}")
    @ApiOperation("回显一个值")
    public ResponseEntity<SysUser> findById(@PathVariable("id") Long id){
        SysUser sysUser = sysUserService.getById(id);
        return ResponseEntity.ok(sysUser) ;
    }

    /**
     * 新增一个值
     * @param sysUser
     * @return
     */
    @PostMapping
    @ApiOperation("新增一个值")
    public ResponseEntity<Void> add(@RequestBody SysUser sysUser){
        sysUserService.save(sysUser);
        return  ResponseEntity.ok().build() ;
    }

    /**
     * 修改一个值
     * @param sysUser
     * @return
     */
    @PutMapping
    @ApiOperation("修改一个值")
    public ResponseEntity<Void> update(@RequestBody SysUser sysUser){
        sysUserService.updateById(sysUser);
        return ResponseEntity.ok().build() ;
    }

}
Publicado 29 artigos originais · ganhou elogios 0 · Vistas 2245

Acho que você gosta

Origin blog.csdn.net/rootDream/article/details/105122181
Recomendado
Clasificación