Нет сообщения об ошибке возврата в мое мобильное приложение (swift) от nodejs - PullRequest
0 голосов
/ 18 апреля 2020

Я работаю над мобильным приложением (ios приложение). Я использую nodejs и express на сервере. Когда я запрашиваю из мобильного приложения, сообщение об ошибке не возвращается в ответе. Все отлично работает, когда я использую Почтальон.

функция входа в систему в swift

func login(email:String,password:String,completion: @escaping (Error?) -> ()){

        guard let url = URL(string: "http://localhost:3000/auth/login") else {return}

        var urlRequest = URLRequest(url: url)
        urlRequest.httpMethod = "POST"

        let params = ["email":email, "password":password]


        do {
            let data = try JSONSerialization.data(withJSONObject: params, options: .init())

            urlRequest.httpBody = data
            urlRequest.setValue("application/json", forHTTPHeaderField: "content-type")

            URLSession.shared.dataTask(with: urlRequest) { (data, res, err) in
                if let err = err {
                    completion(err)
                    print(err)
                    return
                }
                guard let data = data else{return}
                completion(nil)
            }.resume()
        } catch {
            completion(nil)
        }
    }

auth. js

router.post('/login', async (req,res) =>{

    //login validation
    const {error} = loginValidation(req.body);
    if (error) return res.send({message:error.details[0].message});

    //checking if the email exist
    const user = await User.findOne({
        email:req.body.email
    });

    if(!user) return res.status(400).json('invalid Email');
    //checking pash is correct
    const validPass = await bcrypt.compare(req.body.password,user.password)
    if(!validPass) return res.status(400).json('password is not match');

    sess = req.session;
    sess.email = req.body.email;

    console.log(sess);
    //create and assing a token
    const token = jwt.sign({_id:user._id},process.env.SECRET_TOKEN);
    res.header('auth-token',token).json(token);


});

Примечание: индекс . js

const authRoute = require('./routes/auth');

app.use('/auth', authRoute);
Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...