- html - 出于某种原因,IE8 对我的 Sass 文件中继承的 html5 CSS 不友好?
- JMeter 在响应断言中使用 span 标签的问题
- html - 在 :hover and :active? 上具有不同效果的 CSS 动画
- html - 相对于居中的 html 内容固定的 CSS 重复背景?
我是 Web 服务的新手。我正在开发一个应用程序,我在客户端使用 AnhularJs1.x 将数据发送到 Spring Rest Controller。
应用程序的架构是基于微服务的。我能够从 angular 接收数据到同一场 war 中的前端休息 Controller 。
我从这个 Controller 调用一个服务,该服务在内部调用另一个与数据库交互的微服务。
当我将前端 Controller 中接收到的数据发送到另一个微服务时,我得到 415 不支持的媒体类型(org.springframework.web.client.HttpClientErrorException)
下面是我的前端 Controller ,它与 angularJS 处于同一场 war 中
@RequestMapping(value = "/servicearticles", method = RequestMethod.POST, produces = MediaType.APPLICATION_JSON_VALUE)
public ResponseEntity<ServiceArticle> saveData(@RequestBody List<ServiceArticle> serviceArticleList){
System.out.println("In savedata");
System.out.println(serviceArticleList.toString());
try {
if(null != serviceArticleList && serviceArticleList.size() >0){
serviceArticleAdminService.insertData(serviceArticleList);
}else{
logger.error("File is empty. No data to save");
}
private final String URI = "http://localhost:8082/admin/import/servicearticles";
@Override
public void insertData(List<ServiceArticle> serviceArticles) {
logger.error("Inside insertData() in service");
RestTemplate restTemplate = new RestTemplate();
try {
restTemplate.postForObject(URI, serviceArticles, ServiceArticle.class);
} catch (ResourceAccessException e) {
logger.error("ServiceArticleAdmin Service Unavailable.");
@RequestMapping(value = "/import/servicearticles", method = RequestMethod.POST, consumes= MediaType.APPLICATION_JSON_VALUE , produces = MediaType.APPLICATION_JSON_VALUE)
public ResponseEntity<ServiceArticle> addAll(@RequestBody List<ServiceArticle> serviceArticles) {
List<ServiceArticle> serviceArticlesAdded = serviceArticleAdminService.addAll(serviceArticles);
return new ResponseEntity(serviceArticlesAdded, HttpStatus.OK);
}
<dependency>
<groupId>com.fasterxml.jackson.core</groupId>
<artifactId>jackson-databind</artifactId>
<version>2.8.6</version>
</dependency>
<dependency>
<groupId>com.fasterxml.jackson.dataformat</groupId>
<artifactId>jackson-dataformat-xml</artifactId>
<version>2.8.6</version>
</dependency>
<bean
class="org.springframework.web.servlet.mvc.method.annotation.RequestMappingHandlerAdapter">
<property name="messageConverters">
<list>
<ref bean="jsonMessageConverter" />
</list>
</property>
</bean>
<!-- To convert JSON to Object and vice versa -->
<bean id="jsonMessageConverter"
class="org.springframework.http.converter.json.MappingJackson2HttpMessageConverter">
</bean>
最佳答案
看来Content-Type: application/json
标题丢失。
您的方法还返回文章列表,而不是一篇文章,因此 postForObject
中的第三个参数方法不对。
以下代码应该可以完成这项工作:
HttpHeaders headers = new HttpHeaders();
headers.setContentType(MediaType.APPLICATION_JSON);
HttpEntity<List<ServiceArticle>> request = new HttpEntity<>(serviceArticles, headers);
ResponseEntity<List<ServiceArticle>> response =
restTemplate.exchange(URI, HttpMethod.POST, request,
new ParameterizedTypeReference<List<ServiceArticle>>() { });
关于java - 415 不支持的媒体类型(org.springframework.web.client.HttpClientErrorException),我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/42186774/
我使用 httpResp.sendError(400, "You are missing customer id") 发回响应 当我尝试在客户端检索消息时(使用 Rest 模板调用端点)。 但是,打印
我有一个返回 HttpClientErrorException.NotFound 的第三方服务。当它返回此异常时,我从应用程序中抛出异常,表示输入无效,但对于所有其他异常(例如服务不可用等),我需要使
我正在更新使用 Spring 3.1 Framework 的 RestTemplate 类的 exchange 方法的旧代码。我发现似乎有一个重大的细节遗漏。当我尝试与之通信的其余客户端返回 400
我在从第三方服务器的 403 http 代码响应获取响应正文时遇到问题。在 2019 年 4 月 5 日之前,我能够正确从第三方获取响应正文,但现在我正在检索一个可能无法从 getResponseBo
我正在尝试从“https://swapi.co/api/people/?format=json ”获取数据并使用 RestTemplate.getForObject() 方法将其放入 POJO 中。我
我通过向第 3 方进行 RESTFul 调用(Spring RestTemplate)来处理一些请求。在代码中,我试图处理以下情况。 catch (final Exception ex) {
我尝试将对象发布到 https://api.aftership.com/v4但遇到了以下问题: org.springframework.web.client.HttpClientErrorExcept
我正在尝试通过基本身份验证获取网址。我设置用户/密码如下。同样的凭证也在 postman 中工作。 String RELATIVE_IDENTITY_URL = "http://my_url/api
我正在尝试向身份验证服务器发送帖子消息,并且我正在使用 postforobject。当我运行程序时,我收到“线程“main”中的异常 org.springframework.web.client.Ht
这是关于使用 rest 模板访问 POST api。我收到 org.springframework.web.client.HttpClientErrorException: 400 null。我正在为
当我抛出 HttpClientErrorException 时,根据下面的示例代码,我希望 HTTP 代码为 HTTP 400。相反,我得到一个 HTTP 500 响应代码和消息 400 BAD_RE
我正在从一个模块调用一个服务到另一个模块。但它抛出一个异常: org.springframework.web.client.HttpClientErrorException: 401 null POS
我有网络服务 URL: http://myservice.local/aprovalanduser/?format=json&Name=India 当我使用 resttemplate httpsres
我是 Web 服务的新手。我正在开发一个应用程序,我在客户端使用 AnhularJs1.x 将数据发送到 Spring Rest Controller。 应用程序的架构是基于微服务的。我能够从 ang
我正在与客户端一起设置休息服务器,但几个小时以来我已经遇到了问题。当我调用 getPoints() 方法时,一切正常,但是当我调用 getPoint(Long id)、deletePoint(Long
我使用 spring boot 教程作为基础( https://spring.io/guides/tutorials/spring-boot-oauth2/ ) 测试 Oauth2。 但是,我的身份验
我为 FilterDataController 编写了测试。但是我在执行测试期间出现以下错误。当我手动发送 GET 请求时,我收到了正确的 JSON。 org.springframework.web.
在我的 java 代码中,我尝试使用 RestTemplate 访问微服务,如下所示: headers = new HttpHeaders(); headers.setAccept(A
I am consuming API which has to type of response success response 200 and Bad response 400 both of t
2020年6月12日更新我已经解决了这个问题。问题的原因是我的jetty服务器没有正常启动。我把jdk从14改成了1.7。所有可以吸取的教训是: / 它始终可以接收所有网络请求。 感谢您回答我的问题,
我是一名优秀的程序员,十分优秀!