Java-Class-C:org.springframework.http.ResponseEntity
| ylbtech-Java-Class-C:org.springframework.http.ResponseEntity |
| 1.返回顶部 |
Class ResponseEntity<T>
- java.lang.Object
- org.springframework.http.HttpEntity<T>
- org.springframework.http.ResponseEntity<T>
- Type Parameters:
T- the body type
public class ResponseEntity<T>
extends HttpEntity<T>Extension ofHttpEntitythat adds aHttpStatusstatus code. Used inRestTemplateas well@Controllermethods.In
RestTemplate, this class is returned bygetForEntity()andexchange():ResponseEntity<String> entity = template.getForEntity("https://example.com", String.class);
String body = entity.getBody();
MediaType contentType = entity.getHeaders().getContentType();
HttpStatus statusCode = entity.getStatusCode();Can also be used in Spring MVC, as the return value from a @Controller method:
@RequestMapping("/handle")
public ResponseEntity<String> handle() {
URI location = ...;
HttpHeaders responseHeaders = new HttpHeaders();
responseHeaders.setLocation(location);
responseHeaders.set("MyResponseHeader", "MyValue");
return new ResponseEntity<String>("Hello World", responseHeaders, HttpStatus.CREATED);
}Or, by using a builder accessible via static methods:
@RequestMapping("/handle")
public ResponseEntity<String> handle() {
URI location = ...;
return ResponseEntity.created(location).header("MyResponseHeader", "MyValue").body("Hello World");
}
| 2.返回顶部 |
| 3.返回顶部 |
| 4.返回顶部 |
//
// Source code recreated from a .class file by IntelliJ IDEA
// (powered by Fernflower decompiler)
// package org.springframework.http; import java.net.URI;
import java.time.Instant;
import java.time.ZonedDateTime;
import java.util.Arrays;
import java.util.LinkedHashSet;
import java.util.Optional;
import java.util.function.Function;
import org.springframework.lang.Nullable;
import org.springframework.util.Assert;
import org.springframework.util.MultiValueMap;
import org.springframework.util.ObjectUtils; public class ResponseEntity<T> extends HttpEntity<T> {
private final Object status; public ResponseEntity(HttpStatus status) {
this((Object)null, (MultiValueMap)null, (HttpStatus)status);
} public ResponseEntity(@Nullable T body, HttpStatus status) {
this(body, (MultiValueMap)null, (HttpStatus)status);
} public ResponseEntity(MultiValueMap<String, String> headers, HttpStatus status) {
this((Object)null, headers, (HttpStatus)status);
} public ResponseEntity(@Nullable T body, @Nullable MultiValueMap<String, String> headers, HttpStatus status) {
super(body, headers);
Assert.notNull(status, "HttpStatus must not be null");
this.status = status;
} private ResponseEntity(@Nullable T body, @Nullable MultiValueMap<String, String> headers, Object status) {
super(body, headers);
Assert.notNull(status, "HttpStatus must not be null");
this.status = status;
} public HttpStatus getStatusCode() {
return this.status instanceof HttpStatus ? (HttpStatus)this.status : HttpStatus.valueOf((Integer)this.status);
} public int getStatusCodeValue() {
return this.status instanceof HttpStatus ? ((HttpStatus)this.status).value() : (Integer)this.status;
} public boolean equals(@Nullable Object other) {
if (this == other) {
return true;
} else if (!super.equals(other)) {
return false;
} else {
ResponseEntity<?> otherEntity = (ResponseEntity)other;
return ObjectUtils.nullSafeEquals(this.status, otherEntity.status);
}
} public int hashCode() {
return super.hashCode() * 29 + ObjectUtils.nullSafeHashCode(this.status);
} public String toString() {
StringBuilder builder = new StringBuilder("<");
builder.append(this.status.toString());
if (this.status instanceof HttpStatus) {
builder.append(' ');
builder.append(((HttpStatus)this.status).getReasonPhrase());
} builder.append(',');
T body = this.getBody();
HttpHeaders headers = this.getHeaders();
if (body != null) {
builder.append(body);
builder.append(',');
} builder.append(headers);
builder.append('>');
return builder.toString();
} public static ResponseEntity.BodyBuilder status(HttpStatus status) {
Assert.notNull(status, "HttpStatus must not be null");
return new ResponseEntity.DefaultBuilder(status);
} public static ResponseEntity.BodyBuilder status(int status) {
return new ResponseEntity.DefaultBuilder(status);
} public static <T> ResponseEntity<T> of(Optional<T> body) {
Assert.notNull(body, "Body must not be null");
return (ResponseEntity)body.map(ResponseEntity::ok).orElse(notFound().build());
} public static ResponseEntity.BodyBuilder ok() {
return status(HttpStatus.OK);
} public static <T> ResponseEntity<T> ok(T body) {
ResponseEntity.BodyBuilder builder = ok();
return builder.body(body);
} public static ResponseEntity.BodyBuilder created(URI location) {
ResponseEntity.BodyBuilder builder = status(HttpStatus.CREATED);
return (ResponseEntity.BodyBuilder)builder.location(location);
} public static ResponseEntity.BodyBuilder accepted() {
return status(HttpStatus.ACCEPTED);
} public static ResponseEntity.HeadersBuilder<?> noContent() {
return status(HttpStatus.NO_CONTENT);
} public static ResponseEntity.BodyBuilder badRequest() {
return status(HttpStatus.BAD_REQUEST);
} public static ResponseEntity.HeadersBuilder<?> notFound() {
return status(HttpStatus.NOT_FOUND);
} public static ResponseEntity.BodyBuilder unprocessableEntity() {
return status(HttpStatus.UNPROCESSABLE_ENTITY);
} private static class DefaultBuilder implements ResponseEntity.BodyBuilder {
private final Object statusCode;
private final HttpHeaders headers = new HttpHeaders(); public DefaultBuilder(Object statusCode) {
this.statusCode = statusCode;
} public ResponseEntity.BodyBuilder header(String headerName, String... headerValues) {
String[] var3 = headerValues;
int var4 = headerValues.length; for(int var5 = 0; var5 < var4; ++var5) {
String headerValue = var3[var5];
this.headers.add(headerName, headerValue);
} return this;
} public ResponseEntity.BodyBuilder headers(@Nullable HttpHeaders headers) {
if (headers != null) {
this.headers.putAll(headers);
} return this;
} public ResponseEntity.BodyBuilder allow(HttpMethod... allowedMethods) {
this.headers.setAllow(new LinkedHashSet(Arrays.asList(allowedMethods)));
return this;
} public ResponseEntity.BodyBuilder contentLength(long contentLength) {
this.headers.setContentLength(contentLength);
return this;
} public ResponseEntity.BodyBuilder contentType(MediaType contentType) {
this.headers.setContentType(contentType);
return this;
} public ResponseEntity.BodyBuilder eTag(String etag) {
if (!etag.startsWith("\"") && !etag.startsWith("W/\"")) {
etag = "\"" + etag;
} if (!etag.endsWith("\"")) {
etag = etag + "\"";
} this.headers.setETag(etag);
return this;
} public ResponseEntity.BodyBuilder lastModified(ZonedDateTime date) {
this.headers.setLastModified(date);
return this;
} public ResponseEntity.BodyBuilder lastModified(Instant date) {
this.headers.setLastModified(date);
return this;
} public ResponseEntity.BodyBuilder lastModified(long date) {
this.headers.setLastModified(date);
return this;
} public ResponseEntity.BodyBuilder location(URI location) {
this.headers.setLocation(location);
return this;
} public ResponseEntity.BodyBuilder cacheControl(CacheControl cacheControl) {
this.headers.setCacheControl(cacheControl);
return this;
} public ResponseEntity.BodyBuilder varyBy(String... requestHeaders) {
this.headers.setVary(Arrays.asList(requestHeaders));
return this;
} public <T> ResponseEntity<T> build() {
return this.body((Object)null);
} public <T> ResponseEntity<T> body(@Nullable T body) {
return new ResponseEntity(body, this.headers, this.statusCode);
}
} public interface BodyBuilder extends ResponseEntity.HeadersBuilder<ResponseEntity.BodyBuilder> {
ResponseEntity.BodyBuilder contentLength(long var1); ResponseEntity.BodyBuilder contentType(MediaType var1); <T> ResponseEntity<T> body(@Nullable T var1);
} public interface HeadersBuilder<B extends ResponseEntity.HeadersBuilder<B>> {
B header(String var1, String... var2); B headers(@Nullable HttpHeaders var1); B allow(HttpMethod... var1); B eTag(String var1); B lastModified(ZonedDateTime var1); B lastModified(Instant var1); B lastModified(long var1); B location(URI var1); B cacheControl(CacheControl var1); B varyBy(String... var1); <T> ResponseEntity<T> build();
}
}
| 5.返回顶部 |
| 6.返回顶部 |
![]() |
作者:ylbtech 出处:http://ylbtech.cnblogs.com/ 本文版权归作者和博客园共有,欢迎转载,但未经作者同意必须保留此段声明,且在文章页面明显位置给出原文连接,否则保留追究法律责任的权利。 |
Java-Class-C:org.springframework.http.ResponseEntity的更多相关文章
- Spring整合Mybatis报 java.lang.ClassNotFoundException:org.springframework.core.metrics.ApplicationStartup,即:spring的版本过高,采用RELEASE稳定版
1.遇到的问题: 今天在弄spring整合mybatis的时候遇到一个小问题,如图所示: 简单来说:就是我的spring的xml文件没找到,我就奇了怪了,我所有的配置都没问题啊! 我pom.xml配置 ...
- SSM报错:No converter found for return value of type: class java.util.ArrayList at org.springframework.web.servlet.mvc.method.annotation.AbstractMessageConverterMethodProcessor.writeWithMessageConverter
我使用的是SSM框架,是在编写测试RESTFUL接口的时候出现, @RequestMapping(value = "/selectAll", method = RequestMet ...
- Spring 整合 Flex (BlazeDS)无法从as对象 到 Java对象转换的异常:org.springframework.beans.ConversionNotSupportedException: Failed to convert property value of type 'java.util.Date' to required type 'java.sql.Timestamp' for property 'wfsj'; nested exception is java.lang.Ill
异常信息如下: org.springframework.beans.ConversionNotSupportedException: Failed to convert property value ...
- 【spring mvc】后台spring mvc接收List参数报错如下:org.springframework.beans.BeanInstantiationException: Failed to instantiate [java.util.List]: Specified class is an interface
后台spring mvc接收List参数报错如下:org.springframework.beans.BeanInstantiationException: Failed to instantiate ...
- Java-Class-C:org.springframework.web.client.RestTemplate
ylbtech-Java-Class-C:org.springframework.web.client.RestTemplate 1.返回顶部 1. org.springframework.web.c ...
- Java Web系列:Spring Boot 基础
Spring Boot 项目(参考1) 提供了一个类似ASP.NET MVC的默认模板一样的标准样板,直接集成了一系列的组件并使用了默认的配置.使用Spring Boot 不会降低学习成本,甚至增加了 ...
- Java Web系列:Spring Boot 基础 (转)
Spring Boot 项目(参考1) 提供了一个类似ASP.NET MVC的默认模板一样的标准样板,直接集成了一系列的组件并使用了默认的配置.使用Spring Boot 不会降低学习成本,甚至增加了 ...
- Spring MVC报异常:org.springframework.web.util.NestedServletException: Request processing failed
在使用SpringMVC绑定基本类型(如String,Integer等)参数时,应通过@RequestParam注解指定具体的参数名称,否则,当源代码在非debug模式下编译后,运行时会引发Handl ...
- 项目maven update 后启动项目出现导常:org.springframework.web.context.ContextLoaderListener
导常:org.springframework.web.context.ContextLoaderListener 1. 右键单击工程项目 ->点击 properties2. 选择 Deploym ...
随机推荐
- linux POSIX信号量
POSIX信号量机制是3种IPC机制之一,3种IPC机制源于POSIX.1的实时扩展. 创建一个新的命名信号量或者使用一个现有信号量 #include <fcntl.h> #include ...
- Android中查看当前Activity是否销毁
进入到Android-sdk中platform-tools目录 在命令行中执行以下命令 adb shell dumpsys activity>activity.txt 可以将当前的四大组件(Ac ...
- 区间dp+预处理——cf1278F(难题)
感觉很难的区间dp,主要是状态难想 /* 对于一个区间[i,j],设其最小的颜色编号是c=Min[i,j],那么该区间显然有一大段是以c为底的 设这个颜色在该区间出现位置的两端是L[c],R[c],那 ...
- 数学思维——cf351A
把每个值的各种贡献算一下即可 /* ai的小数部分为xi,向下取整对答案贡献为xi 向上取整对答案的贡献是xi-1,如果这个数是0,那么对答案的贡献是xi,即如果0向上取整就可以免去-1 然后sum{ ...
- (转)微信,QQ这类IM app怎么做——谈谈Websocket
转:http://www.cocoachina.com/ios/20160527/16482.html 前言 关于我和WebSocket的缘:我从大二在计算机网络课上听老师讲过之后,第一次使用就到了毕 ...
- win7 cmd 常用命令
进入不同的分区 d: 查看之栏目树:tree 查看当前目录下的子目录:dir 切换不同的目录:cd
- 工具类--MD5Utils
public class MD5Utils { private static final String[] HEX_DIGITS = { "0", "1", & ...
- smali与baksmali用法-基于2.2.2版本
下载地址:https://bitbucket.org/JesusFreke/smali/downloads/?tab=downloads 反编译dex java -jar baksmali-2.2.1 ...
- tensorflow 训练最后预测结果为一个定值,可能的原因
训练一个分类网络,没想到预测结果为一个定值. 找了很久发现,是因为tensor的维度的原因. 注意:我说的是我的label数据的维度. 我的输入是: y_= tf.placeholder(tf.in ...
- velocity 相关
Apache Velocity 是一个基于java的模板引擎(template engine) 应用场景1.Web 应用:开发者在不使用 JSP 的情况下,可以用 Velocity 让 HTML 具有 ...
