国内自拍一区,欧美性孕妇孕交,欧美电影一区http://www.aygfsteel.com/paulwong/category/54024.htmlzh-cnSun, 24 Sep 2017 10:08:05 GMTSun, 24 Sep 2017 10:08:05 GMT60JAX-RS2資源http://www.aygfsteel.com/paulwong/archive/2017/09/24/432829.htmlpaulwongpaulwongSun, 24 Sep 2017 09:19:00 GMThttp://www.aygfsteel.com/paulwong/archive/2017/09/24/432829.htmlhttp://www.aygfsteel.com/paulwong/comments/432829.htmlhttp://www.aygfsteel.com/paulwong/archive/2017/09/24/432829.html#Feedback0http://www.aygfsteel.com/paulwong/comments/commentRss/432829.htmlhttp://www.aygfsteel.com/paulwong/services/trackbacks/432829.html
JAXRSClientSpringBoot

CXFSpringBoot

Restfull Webservice書源碼

JAX-RS 2.0 REST客戶端編程實例

本人的DEMO



paulwong 2017-09-24 17:19 發表評論
]]>
JAVABEAN和JSON STRING互轉http://www.aygfsteel.com/paulwong/archive/2014/07/04/415436.htmlpaulwongpaulwongFri, 04 Jul 2014 01:07:00 GMThttp://www.aygfsteel.com/paulwong/archive/2014/07/04/415436.htmlhttp://www.aygfsteel.com/paulwong/comments/415436.htmlhttp://www.aygfsteel.com/paulwong/archive/2014/07/04/415436.html#Feedback0http://www.aygfsteel.com/paulwong/comments/commentRss/415436.htmlhttp://www.aygfsteel.com/paulwong/services/trackbacks/415436.html
import javax.xml.bind.annotation.XmlRootElement;

import org.codehaus.jackson.annotate.JsonProperty;

@XmlRootElement
public class TestUser {
    
    /*@XmlElement(name="username")*/
    @JsonProperty("username")
    private String userName;
    
    private String email;

    public String getEmail() {
        return email;
    }

    public String getUserName() {
        return userName;
    }

    public void setUserName(String userName) {
        this.userName = userName;
    }

    public void setEmail(String email) {
        this.email = email;
    }

    @Override
    public String toString() {
        return "TestUser [userName=" + userName + ", email=" + email + "]";
    }
    
    

}


Test.java
import java.io.IOException;

import org.codehaus.jackson.JsonParseException;
import org.codehaus.jackson.map.DeserializationConfig;
import org.codehaus.jackson.map.JsonMappingException;
import org.codehaus.jackson.map.ObjectMapper;
import org.codehaus.jackson.type.TypeReference;
import org.junit.Test;
import org.slf4j.Logger;
import org.slf4j.LoggerFactory;


public class Test {
    
    private Logger logger = LoggerFactory.getLogger(Test.class);
    
    /*private String getBaseUri()
    {
        return "
http://192.168.1.223:8080/restfull-api";
    }
*/
    
    @Test
    public void testTest()
    {
        ObjectMapper mapper = new ObjectMapper();
        /*AnnotationIntrospector introspector = new JaxbAnnotationIntrospector();
        // make deserializer use JAXB annotations (only)
        mapper.getDeserializationConfig().setAnnotationIntrospector(introspector);
        // make serializer use JAXB annotations (only)
        mapper.getSerializationConfig().setAnnotationIntrospector(introspector);
*/
        mapper.configure(DeserializationConfig.Feature.FAIL_ON_UNKNOWN_PROPERTIES, false);
        
        String userStr = "{\"username\":\"paul\",\"email\":\"paul@paul.com\"}";
        try {
            TypeReference<TestUser> temp = new TypeReference<TestUser>(){};
            TestUser testUser = mapper.readValue(userStr, temp);
            System.out.println(testUser.toString());
            
            String result = mapper.writeValueAsString(testUser);
            System.out.println(result);
            
        } catch (JsonParseException e) {
            // TODO Auto-generated catch block
            e.printStackTrace();
        } catch (JsonMappingException e) {
            // TODO Auto-generated catch block
            e.printStackTrace();
        } catch (IOException e) {
            // TODO Auto-generated catch block
            e.printStackTrace();
        }
    }

}











paulwong 2014-07-04 09:07 發表評論
]]>
Jersey Exception Handlinghttp://www.aygfsteel.com/paulwong/archive/2014/04/28/413009.htmlpaulwongpaulwongMon, 28 Apr 2014 06:44:00 GMThttp://www.aygfsteel.com/paulwong/archive/2014/04/28/413009.htmlhttp://www.aygfsteel.com/paulwong/comments/413009.htmlhttp://www.aygfsteel.com/paulwong/archive/2014/04/28/413009.html#Feedback0http://www.aygfsteel.com/paulwong/comments/commentRss/413009.htmlhttp://www.aygfsteel.com/paulwong/services/trackbacks/413009.htmlJERSEY已和SPRING整合。

web.xml
<?xml version="1.0" encoding="UTF-8"?>
<web-app xmlns="http://java.sun.com/xml/ns/javaee">

    <display-name>Restful Web Application</display-name>
    
    <servlet>
        <servlet-name>jersey-serlvet</servlet-name>
        <servlet-class>
            com.sun.jersey.spi.spring.container.servlet.SpringServlet
        </servlet-class>
        <init-param>
            <param-name>com.sun.jersey.config.property.packages</param-name>
            <param-value>restfullapi.rest.service,restfullapi.common.provider,restful.web</param-value>
        </init-param>
        <init-param>
            <param-name>com.sun.jersey.api.json.POJOMappingFeature</param-name>
            <param-value>true</param-value>
        </init-param>
        <load-on-startup>2</load-on-startup>
    </servlet>

    <servlet-mapping>
        <servlet-name>jersey-serlvet</servlet-name>
        <url-pattern>/*</url-pattern>
    </servlet-mapping>
    
 
     <listener>
        <listener-class>
            org.springframework.web.context.ContextLoaderListener
        </listener-class>
    </listener>
    
    <listener>
        <listener-class>
            org.springframework.web.context.request.RequestContextListener
        </listener-class>
    </listener>
    
    <context-param>
        <param-name>contextConfigLocation</param-name>
        <param-value>/WEB-INF/mvc-dispatcher-servlet.xml</param-value>
    </context-param>
    
    <!-- spring logback -->
    <context-param>
        <param-name>logbackConfigLocation</param-name>
        <param-value>classpath:logback.xml</param-value>
    </context-param>  
    <listener>
        <listener-class>ch.qos.logback.ext.spring.web.LogbackConfigListener</listener-class>
    </listener>

    <context-param>
        <param-name>webAppRootKey</param-name>
        <param-value>restfull-api</param-value>
    </context-param>
    
    <welcome-file-list>
        <welcome-file>/index.jsp</welcome-file>
    </welcome-file-list>
    

</web-app>


AbstractBaseRestfulException.java
public abstract class AbstractBaseRestfulException extends Exception{

    private static final long serialVersionUID = 6779508767332777451L;
    
    public AbstractBaseRestfulException()
    {
    }
    
    public AbstractBaseRestfulException(String message)
    {
        super(message);
    }

    public abstract String getErrcode();

    public abstract void setErrcode(String errcode);

    public abstract String getDescription();

    public abstract void setDescription(String description);
    

}


AbstractBaseRestfulExceptionMapper.java
import javax.ws.rs.core.MediaType;
import javax.ws.rs.core.Response;
import javax.ws.rs.core.Response.Status;
import javax.ws.rs.ext.ExceptionMapper;
import javax.ws.rs.ext.Provider;

import org.slf4j.Logger;
import org.slf4j.LoggerFactory;

import com.paul.common.exception.AbstractBaseRestfulException;
import com.paul.common.json.DefaultJsonResponse;

@Provider
public class AbstractBaseRestfulExceptionMapper implements ExceptionMapper<AbstractBaseRestfulException>{

    private Logger logger = LoggerFactory.getLogger(AbstractBaseRestfulExceptionMapper.class);
    
    public Response toResponse(AbstractBaseRestfulException exception) {
        
        logger.error(exception.getMessage(), exception);
        
        DefaultJsonResponse<Object> response = new DefaultJsonResponse<Object>();
        response.setDescription(exception.getDescription());
        response.setErrcode(exception.getErrcode());
        response.setResult(null);
            
        return Response.status(Status.BAD_REQUEST)
                .entity(response)
                .type(MediaType.APPLICATION_JSON + ";charset=utf-8")
                .build();
    }

}


OtherExceptionMapper.java
import javax.ws.rs.core.MediaType;
import javax.ws.rs.core.Response;
import javax.ws.rs.core.Response.Status;
import javax.ws.rs.ext.ExceptionMapper;
import javax.ws.rs.ext.Provider;

import org.slf4j.Logger;
import org.slf4j.LoggerFactory;

import com.paul.common.json.DefaultJsonResponse;
import com.paul.common.json.JsonResponseStatus;

@Provider
public class OtherExceptionMapper implements ExceptionMapper<Exception>{
    
    private Logger logger = LoggerFactory.getLogger(OtherExceptionMapper.class);

    public Response toResponse(Exception exception) {
        
        logger.error(exception.getMessage(), exception);
        
        DefaultJsonResponse<Object> response = new DefaultJsonResponse<Object>();
        response.setDescription(JsonResponseStatus.OTHER_ERROR.getMessage() + exception.getMessage());
        response.setErrcode(JsonResponseStatus.OTHER_ERROR.getCode());
        response.setResult(null);
            
        return Response.status(Status.BAD_REQUEST)
                .entity(response)
                .type(MediaType.APPLICATION_JSON + ";charset=utf-8")
                .build();
    }

}


WebApplicationExceptionMapper.java
import javax.ws.rs.WebApplicationException;
import javax.ws.rs.core.MediaType;
import javax.ws.rs.core.Response;
import javax.ws.rs.ext.ExceptionMapper;
import javax.ws.rs.ext.Provider;

import org.slf4j.Logger;
import org.slf4j.LoggerFactory;

import com.paul.common.json.DefaultJsonResponse;

@Provider
public class WebApplicationExceptionMapper implements ExceptionMapper<WebApplicationException >{

    private Logger logger = LoggerFactory.getLogger(WebApplicationExceptionMapper.class);
    
    public Response toResponse(WebApplicationException exception) {
        
        logger.error(exception.getMessage(), exception);
        
        DefaultJsonResponse<Object> response = new DefaultJsonResponse<Object>();
        response.setDescription(exception.getMessage());
        response.setErrcode(String.valueOf(exception.getResponse().getStatus()));
        response.setResult(null);
            
        return Response.status(exception.getResponse().getStatus())
                .entity(response)
                .type(MediaType.APPLICATION_JSON + ";charset=utf-8")
                .build();
    }

}


Controller中無須再處理異常
import javax.ws.rs.DefaultValue;
import javax.ws.rs.GET;
import javax.ws.rs.Path;
import javax.ws.rs.Produces;
import javax.ws.rs.QueryParam;
import javax.ws.rs.core.MediaType;

import org.slf4j.Logger;
import org.slf4j.LoggerFactory;
import org.springframework.beans.factory.annotation.Autowired;
import org.springframework.stereotype.Controller;

import com.paul.common.json.DefaultJsonResponse;
import com.paul.common.json.JsonResponseStatus;
import com.paul.program.stbstart.valueobject.StbStart;
import com.paul.stbstart.valueobject.StbStartRequest;
import com.paul.restfullapi.rest.service.AdvertisementRestfulService;

@Path("/advertisement")
@Controller
public class AdvertisementRestfulController {
    
    private Logger logger = LoggerFactory.getLogger(AdvertisementRestfulController.class);
    
    @Autowired
    AdvertisementRestfulService advertisementRestfulService;
    
    @Path("/getAdvertisement")
    @Produces({MediaType.APPLICATION_JSON + ";charset=utf-8"})
    @GET
    public DefaultJsonResponse<StbStart> getAdvertisement(
            @DefaultValue("") @QueryParam("version")String version,
            @QueryParam("token")String token) throws Exception
    {
        DefaultJsonResponse<StbStart> response = new DefaultJsonResponse<StbStart>();
        StbStartRequest request = new StbStartRequest();
        logger.info(version);
        request.setVersion(version);
        request.setToken(token);
        StbStart result = advertisementRestfulService.findByVersion(request);
        response.setResult(result);
        response.setDescription(JsonResponseStatus.SUCCESS.getMessage());
        response.setErrcode(JsonResponseStatus.SUCCESS.getCode());
        
        logger.info("----------------");
//        double i = 1/0;
        return response;
    }
    

}









paulwong 2014-04-28 14:44 發表評論
]]>
JAX-RS資源http://www.aygfsteel.com/paulwong/archive/2013/11/27/406879.htmlpaulwongpaulwongWed, 27 Nov 2013 04:03:00 GMThttp://www.aygfsteel.com/paulwong/archive/2013/11/27/406879.htmlhttp://www.aygfsteel.com/paulwong/comments/406879.htmlhttp://www.aygfsteel.com/paulwong/archive/2013/11/27/406879.html#Feedback0http://www.aygfsteel.com/paulwong/comments/commentRss/406879.htmlhttp://www.aygfsteel.com/paulwong/services/trackbacks/406879.html

Jersey 2.4.1 User Guide
https://jersey.java.net/documentation/latest/index.html


The Java EE 6 Tutorial
http://docs.oracle.com/javaee/6/tutorial/doc/gkoib.html


基于JAXB注釋的JSON與JAVA BEAN的互轉


paulwong 2013-11-27 12:03 發表評論
]]>
主站蜘蛛池模板: 安岳县| 高密市| 海南省| 北碚区| 凤山县| 新野县| 绥棱县| 盐津县| 鱼台县| 平陆县| 中山市| 武乡县| 宁陕县| 台东县| 永吉县| 大庆市| 云安县| 高唐县| 鄂托克前旗| 景德镇市| 玉门市| 通河县| 济宁市| 三河市| 衢州市| 奉化市| 镇雄县| 赤峰市| 泰安市| 阿拉善右旗| 岳阳市| 砀山县| 鹤峰县| 惠安县| 包头市| 鹿邑县| 定襄县| 个旧市| 顺义区| 航空| 贵溪市|