小编din*_*mix的帖子

MockMvc HttpMediaTypeNotSupportedException:不支持内容类型“ application / json”

我收到以下异常:

org.springframework.web.HttpMediaTypeNotSupportedException: Content type 'application/json' not supported

    at org.springframework.web.bind.annotation.support.HandlerMethodInvoker.readWithMessageConverters(HandlerMethodInvoker.java:653)
    at org.springframework.web.bind.annotation.support.HandlerMethodInvoker.resolveRequestBody(HandlerMethodInvoker.java:612)
    at org.springframework.web.bind.annotation.support.HandlerMethodInvoker.resolveHandlerArguments(HandlerMethodInvoker.java:361)
    at org.springframework.web.bind.annotation.support.HandlerMethodInvoker.invokeHandlerMethod(HandlerMethodInvoker.java:175)
    at org.springframework.web.servlet.mvc.annotation.AnnotationMethodHandlerAdapter.invokeHandlerMethod(AnnotationMethodHandlerAdapter.java:440)
    at org.springframework.web.servlet.mvc.annotation.AnnotationMethodHandlerAdapter.handle(AnnotationMethodHandlerAdapter.java:428)
    at org.springframework.web.servlet.DispatcherServlet.doDispatch(DispatcherServlet.java:963)
    at org.springframework.web.servlet.DispatcherServlet.doService(DispatcherServlet.java:897)
    at org.springframework.web.servlet.FrameworkServlet.processRequest(FrameworkServlet.java:970)
    at org.springframework.web.servlet.FrameworkServlet.doPost(FrameworkServlet.java:872)
    at javax.servlet.http.HttpServlet.service(HttpServlet.java:661)
    at org.springframework.web.servlet.FrameworkServlet.service(FrameworkServlet.java:846)
    at org.springframework.test.web.servlet.TestDispatcherServlet.service(TestDispatcherServlet.java:65)
    at javax.servlet.http.HttpServlet.service(HttpServlet.java:742)
    at org.springframework.mock.web.MockFilterChain$ServletFilterProxy.doFilter(MockFilterChain.java:167)
    at org.springframework.mock.web.MockFilterChain.doFilter(MockFilterChain.java:134)
Run Code Online (Sandbox Code Playgroud)

我的测试如下所示:

public class AvailabilityControllerTest extends BaseTest {   
    @Test
    public void createAvailability() throws Exception {
        final String createAvailabilityEndPoint = "/api/v4/companies/123/availabilities";
        final String responseName = "availabilityResponseDTO";

        AvailabilityDTO availabilityDTO = new AvailabilityDTO();

        MvcResult mvcResult = mockMvc.perform(
                MockMvcRequestBuilders.post(createAvailabilityEndPoint)
                        .contentType(MediaType.APPLICATION_JSON_VALUE)
                        .accept(MediaType.APPLICATION_JSON_VALUE)
                        .content(new ObjectMapper().writeValueAsString(availabilityDTO)))
                .andExpect(MockMvcResultMatchers.status().isCreated())
                .andReturn();
    } …
Run Code Online (Sandbox Code Playgroud)

testing integration-testing json spring-boot mockmvc

5
推荐指数
1
解决办法
1911
查看次数

带角形路由器插座的Flex布局(flexbox)

我试图将2个元素彼此相邻放置,其中一个占据屏幕的25%,另一个是有角的router缝机出口,该出口占据了容器的其余部分。使用以下内容时,两个元素都位于屏幕的两侧,中间有空格。**部分是有问题的部分

  <div class="container"
         fxLayout>
    <admin-route-menu fxFlex="25%" fxShow.lt-sm="false"></admin-route-menu>
    <router-outlet fxFlex></router-outlet>
  </div>
Run Code Online (Sandbox Code Playgroud)

看起来像 在此处输入图片说明

左侧的admin-route-menu标签只是基本的html和css,其中html中有一个mat-list。路由器插座可以根据角度规格采用任何元素。如果有帮助的话,我可以加入admin-route-menu。

我也尝试使用常规的柔韧性盒,但是结果是一样的。

.wrapper {
  display: flex;
  flex-direction: row;
  align-items: stretch;
  width: 100%;
  height: 5em;
  background: #ccc;
}
.wrapper > .wrapper-left
{
  background: #fcc;
}
.wrapper > .wrapper-right
{
  background: #ccf;
  flex: 1;
}
Run Code Online (Sandbox Code Playgroud)

任何帮助表示赞赏,谢谢

css3 flexbox router-outlet angular-flex-layout angular

4
推荐指数
1
解决办法
2889
查看次数

角度形式控制最后可观察到的变化

我正在构建一个自动完成功能,该功能正在查询后端以获取建议,并且只想获取用户在 Angular 5 表单控件中输入时在一定延迟的情况下进行的最后一个查询。目前我的代码看起来像

 this.newVendorForm.get('address').valueChanges.pipe(delay(3000)).subscribe(
  address => {
    this.geocodeApi.getAddressSuggestions(address)
      .subscribe(
        response => {
          console.log('address suggestions');
          console.log(response);
          this.addressSuggestions = response;
        },
        error => {
          console.log('error getting address suggestion');
          console.log(error);
        }
      )
  }
);
Run Code Online (Sandbox Code Playgroud)

这是可行的,但是它会在 3000 毫秒后对每个输入的字母进行查询。例如,'test' 将在 3000 毫秒后查询 ['t', 'te', 'tes', 'test']。如何在 3000 毫秒延迟后从 valueChanges 中获取最后一次更改(即“测试”),然后进行订阅?谢谢你的帮助

autocomplete rxjs typescript angular angular-observable

1
推荐指数
1
解决办法
2120
查看次数