首页
学习
活动
专区
工具
TVP
发布
精选内容/技术社群/优惠产品,尽在小程序
立即前往

【整理】Spring Rest接口开发专题

在正常情况下GET请求会返回一个 200 的状态码表示一切OK和一个响应体,响应体有一个代表问候的JSON字符串。...,最终被转化成了一个JSON字符串),而在传统的Spring MVC开发中的控制器中返回的一般是一个字符串(见),这个字符串会与一个jsp或者是html文件匹配,而这个文件就是MVC中的view视图。...不是依靠视图技术在服务器端把表现问候的数据转换为HTML,rest接口web服务的控制器仅仅是简单的new一个Greeting对象并返回。这个对象将会转化为JSON格式直接地写给HTTP响应。...为了完成这一切,在greeting()方法上的@ResponseBody 注解会告诉spring MVC不需要通过服务器端视图层把问候的Greeting对象来表现,而是把打招呼的Greeting返回作为响应体直接写出...顺着这条路,我们用Spring对内置的tomcat servlet容器的支持来作为http运行时,不是作为一个外部的实例来部署。

12330
您找到你想要的搜索结果了吗?
是的
没有找到

Spring系列 SpringMVC的请求与数据响应

H1>Success 1.页面跳转 直接返回字符串 返回Model与View模型 2.回写数据 直接返回字符串 返回对象或集合 在spring-mvc.xml...,但此时需要通过@ResponseBody注解告知SpringMVC框架,方法返回字符串不是跳转是直接在http响应体中返回 @Controller public class Usercontroller...{ @RequestMapping(value = "/quick6") /*告诉SpringMvc框架,方法返回字符串不是跳转是直接在http响应体中返回*/ @ResponseBody...") /* 告诉SpringMvc框架,方法返回字符串不是跳转是直接在http响应体中返回*/ @ResponseBody public String save7() throws...controller类中的业务方法代码 @RequestMapping(value = "/quick13") /* 告诉SpringMvc框架,方法返回字符串不是跳转是直接在http响应体中返回

1K40

使用 Spring 构建 RESTful Web 服务

build.gradle在您选择 Gradle 时创建的文件: Unresolved directive in - include::initial/build.gradle[] 手动初始化(可选) 如果您想手动初始化项目不是使用前面显示的链接...该服务处理对 的GET请求/greeting,可选择name在查询字符串中使用一个参数。该GET请求应200 OK在正文中返回一个带有 JSON的响应,表示问候语。...这个 RESTful Web 服务控制器不依赖于视图技术来执行服务器端问候数据呈现为 HTML,而是填充并返回一个Greeting对象。对象数据将作为 JSON 直接写入 HTTP 响应。...此代码使用 Spring@RestController注释,它将类标记为控制器,其中每个方法返回域对象不是视图。它是同时包含@Controller和的简写@ResponseBody。...构建一个可执行的 jar 可以很容易地服务作为应用程序在整个开发生命周期中、跨不同环境等进行交付、版本化和部署。 如果您使用 Gradle,则可以使用./gradlew bootRun.

1.3K10

Spring系列 SpringMVC的请求与数据响应

Spring系列 SpringMVC的请求与数据响应 [在这里插入图片描述] SpringMVC的数据响应 数据响应的方式 y以下案例均部署在Tomcat上,使用浏览器来访问一个简单的success.jsp...throws IOException { response.getWriter().println("This is save write"); } } **方法二**:需要回写的字符串直接返回...,但此时需要通过@ResponseBody注解告知SpringMVC框架,方法返回字符串不是跳转是直接在http响应体中返回 @Controlle public class Usercontroller...{ @RequestMapping(value = "/quick6") /\*告诉SpringMvc框架,方法返回字符串不是跳转是直接在http响应体中返回\*/ @ResponseBody...告诉SpringMvc框架,方法返回字符串不是跳转是直接在http响应体中返回\*/ @ResponseBody public String save7() throws IOException

96000

Spring Boot (2) 构建一个RESTful Web服务

如果name请求中不存在参数,则 defaultValue 生效作为默认值。...方法的返回值 方法的返回值创建一个 具有id和content 字段的新对象 Greeting ,借助Spring的HTTP消息转换器支持,内置的 Jackson 库会将这个对象转换成 JSON 字符串写入到...和传统的 MVC 相比 主要区别在于:创建HTTP响应体的方式。 RESTful Web服务控制器填充并返回一个Greeting对象,对象数据将作为JSON直接写入HTTP响应。...传统MVC 依赖于视图转换,组装成HTML的服务器端呈现。 RESTful Web服务的 每个方法均返回领域对象不是视图。...生成可执行jar 使得可以轻松地一个服务作为应用程序进行发布,版本化和部署。 打包方式: 如果你使用 Maven, 执行构建成一个 jar 包: .

68120

Spring全家通之SpringMVC如何传递参数以及返回值的类型

在使用时,若该处理器方法只是进行跳转而不传递数据,或只是传递数据并不向任何 资源跳转(如对页面的 Ajax 异步响应),此时若返回 ModelAndView,则将总是有一部分多 余:要么 Model...但返回的对象不是作为逻辑视图出现的,而是作为直接在页面显示的数据出 现的。 返回对象,需要使用@ResponseBody 注解,转换后的 JSON 数据放入到响应体中。...转 换器的开启,需要由来完成。 SpringMVC 使用消息转换器实现请求数据和对象,处理器方法返回对象和响应输出之间 的自动转换。...): 指定转换器可以读取的对象类型,即 转 换 器 是 否 可 请 求 信 息 转 换 为 clazz 类 型 的 对 象 , 同 时 指 定 支 持 MIME 类 型 (text/html,applaiction...页面 (4) 返回字符串对象 若要返回非中文字符串前面返回数值型数据的返回值直接修改为字符串即可。

4.5K00

@Controller和@RestController的区别

@Controller类中的方法可以直接通过返回String跳转到JSP、HTML等模版页面。Spring会根据视图名解析出实际的视图,通常是一个HTML页面。...每个方法的返回值直接作为 HTTP 响应的内容,不经过视图解析器。@RestController类中的所有方法只能返回String、Object、Json等实体对象,不能跳转到模版页面。...; // 直接返回数据 } } 代码中的 @ResponseBody 注解告诉Spring框架,方法的返回值应该直接作为HTTP响应的主体内容,不是通过视图解析器解析成视图。...选择使用哪个取决于应用的需求,如果你的控制器主要负责处理和返回数据不是渲染视图,那么 @RestController 是更合适的选择。...MVC 中的一个注解,它通常用于控制器方法上,用于指示方法返回的对象应该直接作为 HTTP 响应的主体部分,不进行视图解析。

86411

Spring认证指南:使用 Spring 创建“Hello, World”RESTful Web 服务

name=User 的name参数值覆盖的默认值World,并反映在响应时,如下面的列表显示: {"id":1,"content":"Hello, User!"}...该服务处理对 的GET请求/greeting,可以选择name在查询字符串中使用参数。该GET请求应200 OK在表示问候的正文中返回带有 JSON 的响应。...@RequestParam查询字符串参数的值绑定name到方法的name参数中greeting()。如果name请求中没有参数defaultValue,World则使用of 。...这个 RESTful Web 服务控制器不是依靠视图技术来执行服务器端问候数据呈现为 HTML,而是填充并返回一个Greeting对象。对象数据将作为 JSON 直接写入 HTTP 响应。...此代码使用 Spring@RestController注释,它将类标记为控制器,其中每个方法都返回域对象不是视图。它是同时包含@Controller和 的简写@ResponseBody。

87740

Spring国际认证指南|为 RESTful Web 服务启用跨源请求

该服务处理对 的GET请求/greeting,可以选择使用name查询字符串中的参数。该GET请求应200 OK在正文中返回带有 JSON 的响应以表示问候。...@RequestParamname查询字符串参数的值绑定到方法的name参数中greeting()。此查询字符串参数不是required。...方法体的实现创建并返回一个新Greeting对象,该对象的id属性值基于 的下一个值,counter 的值content基于查询参数或默认值。...这个 RESTful Web 服务控制器不是依靠视图技术来执行服务器端问候数据呈现为 HTML,而是填充并返回一个Greeting对象。对象数据作为 JSON 直接写入 HTTP 响应。...因此,返回的对象数据直接插入到响应正文中。 得益于 Spring 的 HTTP 消息转换器支持,Greeting对象自然地转换为 JSON。

1.6K20

SSM的简介

用于类上,表示类中的所有响应请求的方法都是以该地址作为父路径。...@Resource默认按照byName自动注入,@Resource有两个重要的属性:name和type,spring@Resource注解的name属性解析为bean的名字,type属性则解析为bean...的方法返回的对象,通过适当的HttpMessageConverter转换为指定格式后,写入到Response对象的body数据区 使用时机:返回的数据不是html标签的页面,而是其他某种格式的数据时(...强大直接的配置方式:框架类和应用程序类都能作为JavaBean配置,支持跨多个context的引用,例如,在web控制器中对业务对象和验证器validator)的引用。...可重用的业务代码:可以使用现有的业务对象作为命令或表单对象,不需要去扩展某个特定框架的基类。

78130

Spring Boot 2.0-WebFlux framework

简单来说,响应式编程是针对异步和事件驱动的非阻塞应用程序,并且需要少量线程来垂直缩放(即在 JVM 内)不是水平(即通过集群)。...1.2 响应式 API(Reactive API)和 构建块(Building Blocks) Spring Framework 5 Reactive Streams 作为通过异步组件和库进行背压通信的合同...每个运行时都适用于响应型 ServerHttpRequest 和 ServerHttpResponse ,请求和响应的正文暴露为 Flux ,不是具有响应背压的 InputStream 和 OutputStream...顶部作为 Flux 支持REST风格的 JSON 和 XML 序列化和反序列化,HTML视图呈现和服务器发送事件也是如此。...没有运行服务器的测试与来自Spring MVC的 MockMvc 相当,其中使用模拟请求和响应不是使用套接字通过网络连接。然而, WebTestClient 也可以针对正在运行的服务器执行测试。

3.1K50

Spring MVC 工作流程简介

6、Controller执行完成返回ModelAndView。 7、HandlerAdaptercontroller执行结果ModelAndView返回给DispatcherServlet。...强大直接的配置方式:框架类和应用程序类都能作为JavaBean配置,支持跨多个context的引用,例如,在web控制器中对业务对象和验证器(validator)的引用。...可适配、非侵入:可以根据不同的应用场景,选择合适的控制器子类 (simple型、command型、form型、wizard型、multi-action型或者自定义),不是从单一控制器 (比如Action...可重用的业务代码:可以使用现有的业务对象作为命令或表单对象,不需要去扩展某个特定框架的基类。...可定制的绑定(binding) 和验证(validation):比如类型不匹配作为应用级的验证错误, 这可以保存错误的值。再比如本地化的日期和数字绑定等等。

1.3K31

Spring Web MVC 基础

原则 开放扩展,封闭修改;Spring Web MVC 核心类中的某些方法标记为final。作为开发人员,您不能覆盖这些方法来提供自己的行为。这不是随意进行的,而是要牢记这一原则。...,直接视图内容响应给客户端。...事实上View是一个接口,不是一个可以构造的具体类,我们只能通过其他途径来获取 View的实例。...ModelAndView 也可以接收Map类型的对象,ModelAndView 这个Map中的元素视为model,不是把这个Map本身视为model。...假如是字符串则直接字符串写到客户端;假如是一个对象,此时会将对象转化为json串然后写到客户端。这里需要注意的是,如果返回对象,按utf-8编码。如果返回String,页面可能出现乱码。

46810

RESTful风格的应用

其实,restful解释一种编码的风格,不是一种新的技术。作为restful我们要求,url所有的部分都是名词,除此以外返回的数据也要求是一个json,或者是一个xml格式的数据。...但是发现一件特别麻烦的事情,每一次在书写方法以后,都需要在每一个方法上写@ResponseBody,这样返回字符串才能被正常地输出到响应。所以在Spring4以后。...Person对象不是string或者ModelAndView呢?...这解决了我们手动拼接字符串时的麻烦。 我们运行项目,结果如下: 下面再来补充一个在实际应用中的特殊场景,比如我们现在查询的不是单个对象,而是多个对象,该如何返回呢?...URL响应头包含Access-Control-*指明请求允许跨域。 但这个响应头并不是我们自己随随便便就可以加上的,这是要远程服务器对应的资源进行相应的授权,才允许访问。

60930

SpringMVC 与 REST.

当讨论REST时,有一种常见的错误就是将其视为“基于URL的Web服务”—— REST作为另一种类型的RPC机制,只不过是通过简单的HTTP URL来触发。...——最适合资源使用者的任意形式; 状态(State):当使用REST的时候,我们更关注资源的状态不是对资源采取的行为; 转移(Transfer):REST涉及到转移资源数据,它以某种表述性形式从一个应用转移到另一个应用...至于RESTful URL的结构并没有严格的限制,但是URL应该能够识别资源,不是简单的发一条命名到服务器上: Create:POST Read:GET Update:PUT或PATCH Delete...它将会告知Spring,我们将要返回的对象作为资源发送给客户端,并将其转换为客户端可接受的形式。 @RequestBody:告诉Spring查找一个消息转换器,将来自客户端的资源表述转换为对象。...-- execute() :在URL上执行特定的HTTP方法,返回一个从响应体映射得到的对象。

1.1K40

Spring MVC 到底是如何工作的?

要渲染HTML页面,使用Thymeleaf作为视图模板引擎,该引擎具有可靠和开箱即用的与Spring的集成。...DispatcherServlet作为Spring MVC的核心 作为一个Web应用程序的开发人员,我们真正想要做的是抽象出以下繁琐和模板化的任务,并专注于有用的业务逻辑: HTTP请求映射到某个处理方法...HTTP请求数据和标题解析成数据传输对象(DTO)或域对象 模型 – 视图 – 控制器集成 从DTO、域对象等生成响应 Spring DispatcherServlet能够提供这些。...所以这个适配器只是返回null不是ModelAndView: public ModelAndView handle(HttpServletRequest request, HttpServletResponse...例如,当你从hello()方法返回字符串时,ViewNameMethodReturnValueHandler处理这个值。

1.3K30

Spring Web MVC框架(二) 控制器

控制器方法处理之后,返回一个字符串,指定要使用的视图名称,然后该名称交给视图解析器转换成真正的视图,然后返回给客户端。...text/html"表示处理Content-Type不是text/html的请求。除了直接指定字符串,还可以指定org.springframework.http.MediaType提供的一组常量。...提供的各类注解;四是输入输出流,用于直接操作HTTP请求和响应 返回类型 处理方法的返回类型也不是任意的。...绑定请求体和响应体 绑定请求体使用@RequestBody注解。下面的例子请求体直接返回响应。这里的处理方法用到了Writer参数直接输出HTTP响应,不需要视图,因此这里返回空。...,我们需要使用@ResponseBody注解到方法上,这会告诉Spring直接将该方法的返回结果作为响应返回给客户端。

68310

Spring MVC“夺命”27问,太扎实了

用于类上,则表示类中的所有响应请求的方法都是以该地址作为父路径。 @RequestBody:注解实现接收http请求的json数据,json转换为java对象。...@ResponseBody:注解实现将conreoller方法返回对象转化为json对象响应给客户。...用于类上,表示类中的所有响应请求的方法都是以该地址作为父路径。...使用时机:返回的数据不是html标签的页面,而是其他某种格式的数据时(如json、xml等)使用; 14、@PathVariable和@RequestParam的区别 请求路径上有个id的变量值,可以通过...Struts采用值栈存储请求和响应的数据,通过OGNL存取数据;Spring MVC通过参数解析器是request请求内容解析,并给方法形参赋值,数据和视图封装成ModelAndView对象,最后又将

16610
领券