关于如何使用Struts2框架实现的RESTful接口获取json数据的问题

发布于 2022-09-11 20:21:39 字数 1948 浏览 13 评论 0

依照IBM上的教程使用struts2搭建了几个RESTful接口,但是接口只可以接收Form表单数据,使用json数据就返回404。请问要如何获取从前端传来的json数据?
后端代码如下

@Results(@Result(name="success", type="redirectAction", params = {"actionName" , "user"}))
public class UserController extends ActionSupport implements ModelDriven<Object> {
    // 封装 id 请求参数的属性
    private int id;
    private HttpServletRequest httpServletRequest;
    private User model = new User();

    private List<User> list;
    // 定义业务逻辑组件
    private UserDao userDao = new UserDao();
    //后端代码
    /**
     * 处理不带id参数的POST请求
     * @return
     */
    public HttpHeaders create(){
        try {
            userDao.inst(model);
        }catch (Exception e){
            System.out.println("File to insert document, may be caused by the existence of wait-inserted username.");
            //向前端发送一个json,创建用户失败
        }
        return new DefaultHttpHeaders("success")
                .setLocationId(model.getId());
    }
    
    //处理带参数id的post请求
    public String update() {
        try {
            userDao.updateById(id, model);
        }catch (HibernateException e){
            e.printStackTrace();
            System.out.println("File to update document!");
        }
        return "success";
    }
}

前端代码如下(使用Angluar框架,TS编写)

loginCheck(form: NgForm) {
    console.log(form);
    if (this.valid) {
      let request = {
        "username": form.value.username,
        "password": form.value.password
      };
      console.log(request);
      this.http.post("http://localhost:8088/untitled2_war_exploded/user", request)
          .subscribe(
          (data : any) =>{
            console.log(data.access_token);
            this.router.navigateByUrl("user");
          },
          (error: any) =>{
            console.log(error);
            this.errortext = error.error.description;
            this.presentToast();
          }
      );
    }
  }

如果你对这篇内容有疑问,欢迎到本站社区发帖提问 参与讨论,获取更多帮助,或者扫码二维码加入 Web 技术交流群。

扫码二维码加入Web技术交流群

发布评论

需要 登录 才能够评论, 你可以免费 注册 一个本站的账号。

评论(1

说不完的你爱 2022-09-18 20:21:39

跨域访问的问题,已解决

~没有更多了~
我们使用 Cookies 和其他技术来定制您的体验包括您的登录状态等。通过阅读我们的 隐私政策 了解更多相关信息。 单击 接受 或继续使用网站,即表示您同意使用 Cookies 和您的相关数据。
原文