SpringBoot @RequestParam、@PathVaribale、@RequestBody实战案例

实例User

package com.iflytek.odeon.shipper.model.rx;

import io.swagger.annotations.ApiModelProperty;

public class Student {
  @ApiModelProperty(value = "名称", example = "zhangsan", required = true)
  private String name;
  private Integer call;

  public Student() {
  }

  public Student(String name, Integer call) {
    this.name = name;
    this.call = call;
  }

  public String getName() {
    return name;
  }

  public void setName(String name) {
    this.name = name;
  }

  public Integer getCall() {
    return call;
  }

  public void setCall(Integer call) {
    this.call = call;
  }

  @Override
  public String toString() {
    return "Student{" +
        "name='" + name + '\'' +
        ", call=" + call +
        '}';
  }
}

实例Controller

package com.iflytek.odeon.shipper.controller;

import com.iflytek.odeon.shipper.model.rx.Student;
import org.springframework.stereotype.Controller;
import org.springframework.web.bind.annotation.*;

/**
 * 测试注解及调试功能API
 */
@RestController
@RequestMapping("/v1")
public class SampleController {

  @PostMapping("/hi")
  public Student hi(@RequestBody() Student student) {
    return new Student(student.getName(), student.getCall());
  }

  @PostMapping("/hello")
  public Student hello(@RequestParam(value = "name") String name, @RequestParam(value = "call") Integer call) {
    Student stuResponse = new Student();
    stuResponse.setName(name + "call");
    stuResponse.setCall(call);
    return stuResponse;
  }

  @GetMapping("/hello/{id}")
  public Integer getUrl(@PathVariable(value = "id") Integer id) {
    return id;
  }
}

效果

body

parme key value

pathvar
/{id}

到此这篇关于SpringBoot @RequestParam、@PathVaribale、@RequestBody实战案例的文章就介绍到这了,更多相关SpringBoot @RequestParam、@PathVaribale、@RequestBody内容请搜索我们以前的文章或继续浏览下面的相关文章希望大家以后多多支持我们!

(0)

相关推荐

  • Spring Boot利用@Async异步调用:ThreadPoolTaskScheduler线程池的优雅关闭详解

    前言 之前分享了一篇关于Spring Boot中使用@Async来实现异步任务和线程池控制的文章:<Spring Boot使用@Async实现异步调用:自定义线程池>.由于最近身边也发现了不少异步任务没有正确处理而导致的不少问题,所以在本文就接前面内容,继续说说线程池的优雅关闭,主要针对ThreadPoolTaskScheduler线程池. 问题现象 在上篇文章的例子Chapter4-1-3中,我们定义了一个线程池,然后利用@Async注解写了3个任务,并指定了这些任务执行使用的线程池.在上文

  • springboot中事务管理@Transactional的注意事项与使用场景

    前言:在service层的方法上使用@Transactional 即可实现处理数据库发生错误时触发事务回滚机制. 注意: Spring 基于注解的声明式事物 @Transactional 默认情况下只会对运行期异常(java.lang.RuntimeException及其子类)和 Error 进行回滚. 数据库引擎要支持事物,使用InnoDB. @Transactional 只能被应用到public方法上, 对于其它非public的方法,如果标记了@Transactional也不会报错,但方法没

  • spring boot @ResponseBody转换JSON 时 Date 类型处理方法【两种方法】

    spring boot @ResponseBody转换JSON 时 Date 类型处理方法[两种方法],Jackson和FastJson两种方式. spring boot @ResponseBody转换JSON 时 Date 类型处理方法 ,这里一共有两种不同解析方式(Jackson和FastJson两种方式) 第一种方式:默认的json处理是 jackson 也就是对configureMessageConverters 没做配置时 mybatis数据查询返回的时间,是一串数字,如何转化成时间.

  • 深入理解spring boot异步调用方式@Async

    本文主要给大家介绍了关于spring boot异步调用方式@Async的相关内容,分享出来供大家参考学习,下面来一起看看详细的介绍: 1.使用背景 在日常开发的项目中,当访问其他人的接口较慢或者做耗时任务时,不想程序一直卡在耗时任务上,想程序能够并行执行,我们可以使用多线程来并行的处理任务,也可以使用spring提供的异步处理方式@Async. 2.异步处理方式 调用之后,不返回任何数据. 调用之后,返回数据,通过Future来获取返回数据 3.@Async不返回数据 使用@EnableAsyn

  • spring-boot @Component和@Bean的区别详解

    1.@Component 是用在类上的 @Component public class Student { private String name = "lkm"; public String getName() { return name; } public void setName(String name) { this.name = name; } } 2.@Bean 需要在配置类中使用,即类上需要加上@Configuration注解 @Configuration public

  • Springboot中@Value的使用详解

    Springboot通过@Value注解将配置文件中的属性注入到容器内组件中(可用在@Controller.@Service.@Configuration.@Component等Spring托管的类中) 1.普通字符串注入 例:yml中存在key: name: zs @Value注入 @Value("${name}") public String name; 当yml中的name没有对应值时,即yml中为: name: 此时字符串name的值为"" 可设置注入属性的

  • 详解spring boot使用@Retryable来进行重处理

    前言 什么时候需要重处理? 在实际工作中,重处理是一个非常常见的场景,比如:发送消息失败,调用远程服务失败,争抢锁失败,等等,这些错误可能是因为网络波动造成的,等待过后重处理就能成功.通常来说,会用try/catch,while循环之类的语法来进行重处理,但是这样的做法缺乏统一性,并且不是很方便,要多写很多代码.然而spring-retry却可以通过注解,在不入侵原有业务逻辑代码的方式下,优雅的实现重处理功能. 思路 使用@Retryable和@Recover实现重处理,以及重处理失后的回调 实

  • Springboot @Value获取值为空问题解决方案

    这篇文章主要介绍了Springboot @Value获取值为空问题解决方案,文中通过示例代码介绍的非常详细,对大家的学习或者工作具有一定的参考学习价值,需要的朋友可以参考下 在spring中,常常使用 @Value("${property}") 从application.properties中取值,需要注意两点 使用 @Value 的类不能使用 new 关键字进行实例化对象,必须采用 依赖注入的方式进行实例化 不能使用显式的构造方法 否则,将取不到值.解决方法如下: 删除显式的构造方法

  • 详解Spring Boot中使用@Scheduled创建定时任务

    我们在编写Spring Boot应用中经常会遇到这样的场景,比如:我需要定时地发送一些短信.邮件之类的操作,也可能会定时地检查和监控一些标志.参数等. 创建定时任务 在Spring Boot中编写定时任务是非常简单的事,下面通过实例介绍如何在Spring Boot中创建定时任务,实现每过5秒输出一下当前时间. 在Spring Boot的主类中加入@EnableScheduling注解,启用定时任务的配置 @SpringBootApplication @EnableScheduling publi

  • SpringBoot @RequestParam、@PathVaribale、@RequestBody实战案例

    实例User package com.iflytek.odeon.shipper.model.rx; import io.swagger.annotations.ApiModelProperty; public class Student { @ApiModelProperty(value = "名称", example = "zhangsan", required = true) private String name; private Integer call;

  • SpringBoot之使用枚举参数案例详解

    接口开发过程中不免有表示类型的参数,比如 0 表示未知,1 表示男,2 表示女.通常有两种做法,一种是用数字表示,另一种是使用枚举实现. 使用数字表示就是通过契约形式,约定每个数字表示的含义,接口接收到参数,就按照约定对类型进行判断,接口维护成本比较大. 在 Spring 体系中,使用枚举表示,是借助 Spring 的 Converter 机制,可以将数字或字符串对应到枚举的序号或者 name,然后将前端的输入转换为枚举类型. 在场景不复杂的场景中,枚举可以轻松胜任. 于是,迅速实现逻辑,准备提

  • Spring Boot连接超时导致502错误的实战案例

    1.问题描述 内部系统之间通过Nginx来实现路由转发. 但最近发现有一个系统,经常报502错误,每天达到上百次,完全无法忍受. 2. 原因排查 于是进行排查, 发现配置人员把连接超时时间(server.tomcat.connection-timeout)的单位,理解为秒,实际上是毫秒. SpringBoot的部分配置如下: # Tomcat server: tomcat: uri-encoding: UTF-8 max-threads: 1000 min-spare-threads: 30 c

  • 亲测SpringBoot参数传递及@RequestBody注解---踩过的坑及解决

    目录 SpringBoot 参数传递及@RequestBody注解注意点 前台正确的js书写格式是 后台正确的Controller书写格式是 RequestBody 作为参数使用 为了证实这个想法,自己书写一个请求类 小结一下 SpringBoot 参数传递及@RequestBody注解注意点 前台正确的js书写格式是 //点击查询, 执行下面这个函数 $("#searchByCriteria").click(function () { //var paramdata = $(&quo

  • springBoot详细讲解使用mybaties案例

    首先创建springBoot项目,jdk选择1.8 然后倒入mybaties的相关依赖 我们用的springBoot,当然spring全家桶里面含有mybaties,所以我们直接使用升级版的mybaties-plus. 引入这3个 lombok省的我每次创建对象,都需要get.set方法,以及toString (IDEA里面也要安装lombok插件->file->setting->plugin->搜索lombok安装,完后重启idea,这样lombok在idea中不报错) myba

  • Spring/SpringBoot @RequestParam注解无法读取application/json格式数据问题解决

    目录 前言 一.RequestMappingHandlerAdapter 二.HandlerMethodArgumentResolver 三.RequestParamMethodArgumentResolver 四.MyHandlerMethodArgumentResolver 四.ConfigArgumentResolvers 五.MyHttpServletRequestWrapper 六.HttpServletRequestReplacedFilter 七.总结 总结 前言 Emmmm…最近

  • SpringBoot结合mockito测试实战

    题目起的很像那么回事,但是这篇博客本身写的很简单. 我不想写说一堆概念,然后阐释各种概念是什么意思.我喜欢的是直接从例子出发. package com.example.demo.controller; import com.baomidou.mybatisplus.core.conditions.query.QueryWrapper; import com.example.demo.entity.Person; import com.example.demo.mapper.PersonMappe

  • Swift中闭包实战案例详解

    前言 无论苹果的官方文档还是由官方文档衍生出来的一些文章和书籍都比较重视基础语法知识的讲解,对于实战中的应用提及的都很少,所以当我们想使用"闭包"解决一些问题的时候,会忽然出现看着一堆理论知识却不知从何下手的尴尬感,这就是理论和时实战的区别了. 本文不赘述Swift闭包的的基本语法了,百度或者Google下有很多资料.如题所示本文着重讲述Swift闭包的一些实战案例,有需要的小伙伴可以参考下,经验丰富的大神也请指教. 关于如何理解闭包 学习闭包的第一个难点就是理解闭包,可能很多人用了很

  • Linux磁盘分区实战案例(必看篇)

    一.查看新添加磁盘 [root@localhost /]# fdisk -l 磁盘 /dev/sda:53.7 GB, 53687091200 字节,104857600 个扇区 Units = 扇区 of 1 * 512 = 512 bytes 扇区大小(逻辑/物理):512 字节 / 512 字节 I/O 大小(最小/最佳):512 字节 / 512 字节 磁盘标签类型:dos 磁盘标识符:0x0009f1d1 设备 Boot Start End Blocks Id System /dev/s

  • springboot 用监听器统计在线人数案例分析

    本文在springboot 的项目,用HttpSessionListener 监听器(监听器的其中一种) 统计在线人数,实质是统计session 的数量. 思路很简单,但是有个细节没处理好,让我调试了大半天,才把bug搞好. 先写个HttpSessionListener 监听器.count  是session的数量(人数),session 创建的时候,会触发监听器的sessionCreated 方法,session销毁的时候,会触发监听器的sessionDestroyed 方法. 在监听器中计算

随机推荐