【问题标题】:Basic Spring Boot with Angular带 Angular 的基本 Spring Boot
【发布时间】:2021-03-02 10:16:54
【问题描述】:

当我单击 Angular UI 中的按钮时,我试图将一条消息打印到我的 Web 控制台。

到目前为止我已经完成了:

我的角度:

按钮:

<button id="b1" mat-raised-button color="primary" type="button"(click)=displayString()>Submit</button>

我的 .ts 文件:

  displayString(){
    this.httpClient.post('http://localhost:8080/jpmorgan/editquestionSet',{},{ responseType: "text" })
    .subscribe(response => console.log(response) );
  }

我的 Springboot 方面:

SpringSecurityConfig.java:


      @Configuration
      public class WebConfig extends WebMvcConfigurerAdapter {
          @Override
          public void addCorsMappings(CorsRegistry registry) {
              registry.addMapping("/**")
                 .allowedMethods("HEAD", "GET", "PUT", "POST", "DELETE", "PATCH");
          }
      }
    
    @Override
    protected void configure(HttpSecurity http) throws Exception {
        http.csrf().disable()
            .authorizeRequests()
            .antMatchers(HttpMethod.OPTIONS, "/**")
            .permitAll()
            .anyRequest()
            .authenticated()
            .and()
            .httpBasic();
    }
    @Bean
    CorsConfigurationSource corsConfigurationSource() {
        UrlBasedCorsConfigurationSource source = new 
    UrlBasedCorsConfigurationSource();
        source.registerCorsConfiguration("/**", new CorsConfiguration().applyPermitDefaultValues());
        return source;
       }
}

控制器

@CrossOrigin(origins = "*")
@RestController
@RequestMapping("/jpmorgan")
public class ApplicationController {
    
    @Autowired
    private CompilationService compilationService;
    
    @RequestMapping("/editquestionSet")
    public String editquestions() {
        return "Questions Added Successfully";
    }

}

我在 Web 控制台中遇到的错误:

zone.js:3243 POST http://localhost:8080/jpmorgan/editquestionSet 401 core.js:1449 错误 HttpErrorResponse {headers: HttpHeaders, status: 401, statusText: "OK", url: "http://localhost:8080/jpmorgan/editquestionSet", ok: false, ...}

我想要一个来自 spring 应用程序的响应,而不是错误:

** 问题添加成功**

【问题讨论】:

    标签: java angular spring-boot


    【解决方案1】:

    以下表示您需要身份验证。

    .anyRequest()
                .authenticated()
                .and()
                .httpBasic();
    

    试试:

    .anyRequest().permitAll(); 
    

    【讨论】:

    • 啊……谢谢。
    猜你喜欢
    • 2019-04-25
    • 2017-07-24
    • 2019-09-18
    • 2018-03-10
    • 2018-02-14
    • 2019-05-05
    • 2018-03-06
    • 2021-01-09
    相关资源
    最近更新 更多