账号密码登录
微信安全登录
微信扫描二维码登录

登录后绑定QQ、微信即可实现信息互通

手机验证码登录
找回密码返回
邮箱找回 手机找回
注册账号返回
其他登录方式
分享
  • 收藏
    X
    Angular的HttpClient.get方法匹配精确值?
    26
    0

    正在学习Angular中,关于HttpClient有点不懂的地方.

    in-memory-data.service:

    const users=[
          {id: 1, url: '/assets/home-carousel/1.bmp', like: false, likecount: 0},
          {id: 2, url: '/assets/home-carousel/2.png', like: false, likecount: 0},
          {id: 3, url: '/assets/home-carousel/3.jpg', like: false, likecount: 0},
          {id: 4, url: '/assets/home-carousel/4.png', like: false, likecount: 0},
          {id: 5, url: '/assets/home-carousel/5.png', like: false, likecount: 0},
          {id: 6, url: '/assets/home-carousel/5.png', like: false, likecount: 0},
          {id: 7, url: '/assets/home-carousel/5.png', like: false, likecount: 0},
          {id: 8, url: '/assets/home-carousel/5.png', like: false, likecount: 0},
          {id: 9, url: '/assets/home-carousel/5.png', like: false, likecount: 0},
         {id: 1, username: 'admin', password: 'admin', email: 'email@email.com', birthday: '19970916', exist: 'boolean', }
         ];
         return {users};

    这里面有一条这样的数据.

    我想在this.http.get(api/users/?username=admin)的时候才会返回这条数据,但是我现在即使是请求为
    this.http.get('api/users/?username=min')的时候依然会返回这条数据.所以我想要的是能不能实现username的精确查找?

    在试错的时候又发现了一个问题,如果请求是this.http.get<any[]>('api/users/?username=e')或者其他的啥字符的时候,为什么就算是那些没有username这个属性的json对象也会被返回过来啊,真特么蛋疼啊..
    返回值为:

    [{"id":1,"url":"/assets/home-carousel/1.bmp","like":false,"likecount":0},{"id":2,"url":"/assets/home-carousel/2.png","like":false,"likecount":0},{"id":3,"url":"/assets/home-carousel/3.jpg","like":false,"likecount":0},{"id":4,"url":"/assets/home-carousel/4.png","like":false,"likecount":0},{"id":5,"url":"/assets/home-carousel/5.png","like":false,"likecount":0},{"id":6,"url":"/assets/home-carousel/5.png","like":false,"likecount":0},{"id":7,"url":"/assets/home-carousel/5.png","like":false,"likecount":0},{"id":8,"url":"/assets/home-carousel/5.png","like":false,"likecount":0},{"id":9,"url":"/assets/home-carousel/5.png","like":false,"likecount":0},{"id":10,"url":"/assets/home-carousel/5.png","like":false,"likecount":0},{"id":11,"url":"/assets/home-carousel/5.png","like":false,"likecount":0},{"id":12,"url":"/assets/home-carousel/5.png","like":false,"likecount":0},{"id":13,"url":"/assets/home-carousel/5.png","like":false,"likecount":0},{"id":1,"username":"admin","password":"admin","email":"email@email.com","birthday":"19970916","exist":"boolean"}]

    我也看了官方api文档了,好像没说有这回事,倒是能this.http.get<any[]>('api/users/id'),但是这样的话岂不是要改变数据库的结构了?因为他好像只能按照第一个进行匹配啊?是不是要从后台得到一个username开头的数组才行啊?

    还有一个问题就是使用http.get<any[]>(url)的时候是从后台进行处理,访问了后台的/user/?username=xxx&id=xxx那么在后台是不是/user的这个地方接受了请求,然后后面的参数作为请求体啊?
    新手小白,希望大佬们能给解答一下!感激不尽!

    2
    打赏
    收藏
    点击回答
        全部回答
    • 0
    更多回答
    扫一扫访问手机版
    • 回到顶部
    • 回到顶部