Frontend
-> This is the my API(backend) call method and Sending object structure
const response = await axiosInstance.put(UPDATE_USEREMAIL, {
userEmail
});
-> This axiosInstance is,
import axios from 'axios';
import { HOST_API_KEY } from './globalConfig';
const axiosInstance = axios.create({ baseURL: HOST_API_KEY });
axiosInstance.interceptors.response.use(
(response) => response, // if return the succesfull response
(error) => // if has error
Promise.reject(
(error.response && error.response) || 'General Axios Error happend'
)
);
export default axiosInstance;
Backend
-> This is the Retrieving object structure
using System.ComponentModel.DataAnnotations;
namespace backend_dotnet7.Core.Dtos.Auth
{
public class UpdateUserEmailDto
{
[Required(ErrorMessage = "User Email is required")]
public string? Email { get; set; }
}
}
-> This is the API method
[HttpPut]
[Route("updateUserEmail")]
[Authorize]
public async Task<ActionResult<UpdateUserEmailResponseDto>> updateUserEmail(UpdateUserEmailDto
updateUserEmailDto)
{
try
{
var userId = User.FindFirst(ClaimTypes.NameIdentifier)?.Value;
if (userId is null)
{
return StatusCode(StatusCodes.Status400BadRequest, "Can't find user, Please contact
admin");
}
var isExists = await _userManager.FindByIdAsync(userId);
if (isExists is null)
{
return StatusCode(StatusCodes.Status404NotFound, "User does not exists");
}
if(updateUserEmailDto.Email is null)
{
return StatusCode(StatusCodes.Status400BadRequest, "null");
}
var isValid = await _userEmailService.EmailValidation(updateUserEmailDto.Email);
if (!isValid)
{
return StatusCode(StatusCodes.Status400BadRequest, "User Email is invalid");
}
isExists.Email = updateUserEmailDto.Email;
var result = await _userManager.UpdateAsync(isExists);
if (!result.Succeeded)
{
var errors = result.Errors.Select(e => e.Description).ToList();
return StatusCode(StatusCodes.Status400BadRequest, errors);
}
var userInfoObject = new UserInfoResult
{
Id = isExists.Id,
FirstName = isExists.FirstName,
LastName = isExists.LastName,
Email = isExists.Email,
UserName = isExists.UserName,
CreatedAt = isExists.CreatedAt,
Roles = isExists.Roles
};
return new UpdateUserEmailResponseDto
{
userInfo = userInfoObject,
};
}
catch (Exception ex)
{
_userLogger.LogError(ex.Message);
return StatusCode(StatusCodes.Status500InternalServerError, ex.Message);
}
}
-> Above codes is used in my project for update user email, I chacked by using swagger, then it perfectly working, but I checked using frontend code, then Always update email to ‘[email protected]’ and not given Error… ?????
-> Can you suggest the error in my task ???
According to the above details,
I checked in backend code by using swagger, then it properly work and update the database correctly.
But I checked by connecting the backend to frontend, then Not given Error….
But Always update database to ‘[email protected]’….
I can’t find solution for this problem ????
Chinthaka Senarathna is a new contributor to this site. Take care in asking for clarification, commenting, and answering.
Check out our Code of Conduct.