Как конвертировать MAC-адрес в длинный в Javascript?
Мой код Javascript:
function singleCopySave()
{
var sam1="00:A0:C9:14:C8:29";
var mac=toLrad.split(":").map(Integer.parseInt(_,16)).foldLeft(0L) {case (acc,item) => acc*256+item};
var JSONObject = {};
JSONObject["toLrad"]=sam1;
var jsonData=dojo.toJson(JSONObject);
dojo.xhrPost({
url :"/unified/singleCopy",
preventCache:true,
handleAs: "text",
postData:jsonData,
headers: {"Content-Type": "application/json"},
sync:true,
load: function(response, ioArgs)
{
retVal = response;
},
error: function(errorResponse, ioArgs)
{
}
});
}
Мой код Java REST выглядит следующим образом:
@POST
@Path("/singleCopy")
@Consumes(MediaType.APPLICATION_JSON)
@Produces(MediaType.TEXT_PLAIN)
public String singleApCopy(sampleDTO dto,@Context HttpServletRequest request, @Context HttpServletResponse response) {
long toLradId = dto.getToLrad();
return "success";
Это не попадает в REST URL. Ошибка при преобразовании строкового значения в long. Может ли кто-нибудь помочь мне разобраться с синтаксической проблемой при конвертации в long? Или есть способ конвертировать MAC-адрес в DTO.java?
1 ответ
Попробуй это
var mac= parseInt(sam1.split(':').join(''), 16);
var JSONObject = {};
JSONObject["toLrad"]=mac;
Вы должны отправить JSON собственности toLrad
пока он сможет конвертировать в Java метод