Angular Springboot JWT:无法映射请求。
创始人
2024-10-20 16:00:51
0

出现“Angular Springboot JWT:无法映射请求。”错误通常是由于请求的URL路径不正确或映射方法名错误导致的。以下是一些可能的解决方法:

  1. 确保Angular应用程序中的请求URL与Spring Boot应用程序中的映射路径匹配。例如,如果您在Angular中发送一个POST请求到/api/login,则在Spring Boot中需要有一个映射到该路径的方法。

  2. 检查Spring Boot控制器中的映射方法名是否正确。确保方法名称与请求的HTTP方法(GET,POST,PUT等)匹配,并且方法上使用了正确的注解,例如@GetMapping@PostMapping等。

  3. 如果您使用了Spring Security和JWT进行身份验证和授权,请确保您的安全配置正确。可能需要为受保护的URL路径添加适当的安全配置,并确保您的Spring Security配置正确地验证JWT令牌。

以下是一个使用Angular和Spring Boot的示例代码,用于处理登录请求和生成JWT令牌的示例:

Angular代码(login.component.ts):

import { Component } from '@angular/core';
import { HttpClient } from '@angular/common/http';

@Component({
  selector: 'app-login',
  templateUrl: './login.component.html',
  styleUrls: ['./login.component.css']
})
export class LoginComponent {
  username: string;
  password: string;

  constructor(private http: HttpClient) { }

  login() {
    const credentials = {
      username: this.username,
      password: this.password
    };

    this.http.post('/api/login', credentials).subscribe(response => {
      const token = response['token'];
      // 保存JWT令牌或进行其他操作
    });
  }
}

Spring Boot代码(LoginController.java):

import org.springframework.beans.factory.annotation.Autowired;
import org.springframework.security.authentication.AuthenticationManager;
import org.springframework.security.authentication.UsernamePasswordAuthenticationToken;
import org.springframework.security.core.Authentication;
import org.springframework.security.core.AuthenticationException;
import org.springframework.security.core.userdetails.UserDetailsService;
import org.springframework.web.bind.annotation.PostMapping;
import org.springframework.web.bind.annotation.RequestBody;
import org.springframework.web.bind.annotation.RestController;

import io.jsonwebtoken.Jwts;
import io.jsonwebtoken.SignatureAlgorithm;

@RestController
public class LoginController {
  @Autowired
  private AuthenticationManager authenticationManager;
  
  @Autowired
  private UserDetailsService userDetailsService;
  
  @PostMapping("/api/login")
  public String login(@RequestBody LoginRequest loginRequest) {
    try {
      Authentication authentication = authenticationManager.authenticate(
        new UsernamePasswordAuthenticationToken(
          loginRequest.getUsername(),
          loginRequest.getPassword()
        )
      );
      
      // 生成JWT令牌
      String token = Jwts.builder()
        .setSubject(loginRequest.getUsername())
        .signWith(SignatureAlgorithm.HS512, "yourSecretKey")
        .compact();
      
      return "{\"token\":\"" + token + "\"}";
    } catch (AuthenticationException e) {
      // 处理身份验证错误
      return "{\"error\":\"Invalid credentials\"}";
    }
  }
}

请注意,这只是一个简单的示例,实际应用中可能需要更多的配置和处理。您需要根据自己的具体情况进行调整和修改。

相关内容

热门资讯

突发!随意玩辅助器视频透视挂!... 突发!随意玩辅助器视频透视挂!果然真的有辅助下载(有挂工具)-哔哩哔哩1、下载好随意玩辅助器视频透视...
截至发稿!微信卡五星辅助器!真... 截至发稿!微信卡五星辅助器!真是真的是有辅助挂(发现有挂)-哔哩哔哩1、截至发稿!微信卡五星辅助器!...
做出回应!衢州都莱破解器!真是... 做出回应!衢州都莱破解器!真是有挂辅助软件(有挂实锤)-哔哩哔哩小薇(辅助器软件下载)致您一封信;亲...
今天下午!八仙游戏辅助!一贯存... 今天下午!八仙游戏辅助!一贯存在有辅助软件(有挂讲解)-哔哩哔哩1、进入到八仙游戏辅助是否有挂之后,...
经调查!道游辅助脚本!确实是真... 经调查!道游辅助脚本!确实是真的辅助脚本(有挂存在)-哔哩哔哩1、全新机制【道游辅助脚本ai辅助工具...
据相关数据显示!陕麻圈黑科技!... 据相关数据显示!陕麻圈黑科技!切实是有辅助软件(有挂详细)-哔哩哔哩1、进入游戏-大厅左侧-新手福利...
不少玩家反映!福州十八扑有外g... 不少玩家反映!福州十八扑有外g挂吗!其实有挂辅助修改器(详细教程)-哔哩哔哩1、完成福州十八扑有外g...
记者获悉!福建兄弟13水辅助!... 记者获悉!福建兄弟13水辅助!总是是真的辅助安装(有挂方式)-哔哩哔哩1、完成福建兄弟13水辅助辅助...
截至目前!天天贵阳app破解版... 截至目前!天天贵阳app破解版!都是真的有辅助插件(有挂解惑)-哔哩哔哩1、实时天天贵阳app破解版...
截至发稿!掌中乐游戏中心云南辅... 截至发稿!掌中乐游戏中心云南辅助!一贯存在有辅助app(有挂规律)-哔哩哔哩掌中乐游戏中心云南辅助是...