问题标签 [spring-rest]

For questions regarding programming in ECMAScript (JavaScript/JS) and its various dialects/implementations (excluding ActionScript). Note JavaScript is NOT the same as Java! Please include all relevant tags on your question; e.g., [node.js], [jquery], [json], [reactjs], [angular], [ember.js], [vue.js], [typescript], [svelte], etc.

0 投票
4 回答
9991 浏览

java - Spring文件上传内容类型验证,总是八位字节流?

我正在尝试在我的 Restful Spring Boot 应用程序中实现 pdf 文件上传。

我有以下方法;

FileDTO 只是 MultipartFile 的一个包装器。

然后我使用邮递员发布带有form-data正文的请求'file'=<filename.pdf>

上面 printlns 中的内容类型是 ALWAYS octet-stream。无论我发送什么类型的文件(png、pdf 等),它始终是八位字节流。如果我application/pdf在 Postman 中专门设置为 Content-Type 标头,则 FileDTO 中的 MultipartFile 最终为空。

问题是,我的 Spring Controller 方法有问题,还是 Postman 没有正确构建请求?

如果 Postman 无法正确获取 Content-Type,我可以期望实际的客户端应用程序将内容类型正确设置为 pdf 吗?

0 投票
1 回答
2572 浏览

spring - 用杰克逊反序列化不好

我尝试调用一个接受列表的 url。

发送的数据是

"{"timestamp":1445958336633,"status":400,"error":"Bad Request","exception":"org.springframework.http.converter.HttpMessageNotReadableException","message":"无法读取文档:可以不在 [Source: java.io.PushbackInputStream@5a1edae4; 的 START_OBJECT 令牌中反序列化 java.util.ArrayList 的实例;行:1,列:1];嵌套异常是 com.fasterxml.jackson.databind.JsonMappingException: Can not deserialize an instance of java.util.ArrayList out of START_OBJECT token\n at [Source: java.io.PushbackInputStream@5a1edae4; 行:1,列:1]","路径":"/rest/lodgers/1/associate/dissociate/contact"}"

0 投票
1 回答
8513 浏览

spring - Spring RestTemplate - BufferingClientHttpRequestFactory & SimpleClientHttpRequestFactory

我在使用 Spring 构建的 Rest Client 之一中看到了以下代码。此 Rest Client 存在于 REST 服务中,并且正在调用另一个 REST 服务。这个声明的目的是什么?

0 投票
1 回答
1807 浏览

spring - Spring MVC:让 RestController 将不同的类序列化为 JSON

仅出于示例的目的,假设我想创建一个 REST 端点,它返回当天的消息 (motd)。传入参数是数字表示的日期,结果是包含日期和消息的 JSON。

这被翻译成...

...并由以下代码返回:

只要一切正常,它就可以正常工作,但我的目的是返回一个 http 状态代码和一个 JSON,解释可能发生的任何错误的原因:

但这与ResponseEntity<Motd>前面定义的冲突。到目前为止,我知道的唯一解决方案是自己定义ResponseEntity<String>和序列化 JSON。是否有任何替代方案/更优雅的替代方案允许 Spring 返回“变化”类?

我的问题的重点不是错误处理,例如,我展示了一些基于异常的聪明方法。如果可能的话,我想避免从一个公共基类派生所有可能的返回类。

我的代码基于 Spring Boot 1.3 RC1。

0 投票
1 回答
1806 浏览

spring-data - ResourceProcessor 不使用 PagedResources

您好我正在尝试将一些自定义链接添加到分页资源中,但没有成功。此问题可能与DATAREST-375有关,但有人可以验证我这样做是否正确。

}

0 投票
2 回答
269 浏览

java - 如果我想与 spring rest shell 连接,我应该在 jhipster 应用程序中使用哪种类型的身份验证?

我们将使用 JHipster 搭建一个 Spring Boot 应用程序。如果我想通过Spring Rest Shell连接到 jhipster 生成的 REST API,我应该选择哪种身份验证类型?

0 投票
1 回答
7084 浏览

spring - 如何将 Spring REST 中的图像返回到浏览器

我需要在我的 Spring 控制器中返回图像。我尝试在这个Spring MVC 中回答:如何在 @ResponseBody 中返回图像?但它不工作

我的代码是这样的

但是当我在浏览器中访问它时,它什么也不显示(只是没有图片图标)。但是如果我读取图像字节数组,它不是空的。我错过了代码中的任何内容吗?

0 投票
1 回答
1183 浏览

spring-boot - 嵌套对象的无限递归 Spring REST

我想知道如何使用具有双向关系的 Spring REST 处理序列化。我目前正在使用 Spring Boot 1.3.0.BUILD-SNAPSHOT

目前,我收到内部服务器错误,说明主类存储库上的 GET 请求无限递归。

它适用于两个类,其中一个是存储库。在示例 A 中,A 是具有存储库的示例:

但是,如果我在 B 中添加另一个类,它将不再起作用,并且如果我向 A 的存储库发送 GET 请求(C 在其 b 属性上具有与 B 相同的注释),我将获得无限递归:

因此,根据我的观察,我可以在对 B 的反向引用中省略 C 类中的 Jackson 注释,而不会改变行为。这是已知的行为还是我错过了什么?

更新 1

我试图通过修改B类并删除C上的反向引用来摆脱B和C对象之间的双向关系:

虽然这消除了对 A 的存储库的 GET 请求的无限递归(万岁!),但它也消除了在向 A 的存储库发送 POST 时存储 C 对象的可能性(嘘!)。这将抛出此错误消息:

org.hibernate.TransientObjectException: 对象引用了一个未保存的瞬态实例 - 在刷新之前保存瞬态实例

更新 2

我试图为 B 类添加一个存储库。这导致了另一个无限递归。但是这一次应用程序和 IDE 只是因为错误没有得到正确处理而崩溃。

0 投票
1 回答
912 浏览

spring - Spring MVC/REST 仅从特定域检索数据

我有一个关于 Spring MVC/Rest 的问题。

假设我有一项服务,您可以在其中通过输入以下 url 来检索用户的用户详细信息 (JSON) http://localhost:8080/project/api/get/user/1

我的前端应用程序运行在:http://localhost:9000/并且我能够从 API 获取数据。但是,我可以在任何域上执行此操作。我的目标是只提供一个(或列表)域/ips。

所以我在我的 API 中添加了以下过滤器,以便它只接受来自 localhost:9000 的调用

现在它确实阻止了来自其他域的调用。但是,如果我使用 Postman 之类的工具,我仍然可以获取数据!我错过了什么吗?我在这里做的事情是安全和正确的方式吗?如果我使用 Postman,为什么我仍然能够获取甚至发布数据?

0 投票
2 回答
5437 浏览

spring - 将@RequestParam 绑定到对象而不是简单类型的简洁方法

我想在我正在编写的 REST API 中允许分页。我想发送如下请求

或者可能

  • 上面的请求只是我正在尝试做的一个例子,如果您知道发送请求的更简洁的方式,请告知。

然后

PaginationInformation只是一个普通的老式 pojo,带有getter 和 setter numbersize

在最新版本的 Spring 中是否可能出现这种情况?我意识到我可以将pageNumberpageSize绑定为整数,但我宁愿使用和对象,因为我还想支持过滤,这将更加复杂。