自定义CustomerEndPoint Broadleaf

时间:2014-07-08 07:16:16

标签: api rest broadleaf-commerce

我是阔叶病的新手。我想创建一个自定义customerEndPoint类,它将提供注册客户获取客户详细信息等服务。我尝试在com.mycompany.api.endpoint.customer包中创建CustomerEndpoint类。是否还有其他配置要访问客户URL?

请帮忙...

2 个答案:

答案 0 :(得分:1)

我解决了这个问题,分享它可能会对某人有所帮助。 我在applicationContent-rest-api.xml中配置了CustomerEndPoint bean,并将带注释的CustomerEndpoint配置为控制器,并且只是扩展了BaseEndPoint。

CustomerEndpoint.java

@Controller
@Scope("singleton")
@Path("/customer/")
@Produces(value = { MediaType.APPLICATION_JSON, MediaType.APPLICATION_XML })
@Consumes(value = { MediaType.APPLICATION_JSON, MediaType.APPLICATION_XML })
public class CustomerEndpoint extends BaseEndpoint {
@Resource(name = "blCustomerService")
protected CustomerService customerService;

public void setCustomerService(CustomerService customerService) {
    this.customerService = customerService;
}

@GET
public CustomerWrapper getCustomer(@Context HttpServletRequest request,
        @QueryParam("id") String emailId) {
    CustomerWrapper customerWrapper = new CustomerWrapper();
    if (emailId != null && emailId != "") {
        customerWrapper.wrapDetails(
                customerService.readCustomerByEmail(emailId), request);
    }
    return customerWrapper;
}

}

的applicationContext静止-api.xml

<bean id="customerEndpoint" class="com.mycompany.api.endpoint.customer.CustomerEndpoint"/>

答案 1 :(得分:0)

这取决于您使用的是什么版本。如果您使用例如:broadleaf-3.1.X请参阅 http://mvnrepository.com/artifact/org.broadleafcommerce/broadleaf-framework/3.1.5-GA

您可以将com.mycompany.api.endpoint.checkout.CheckoutEndpoint作为示例。

在默认平台上有org.broadleafcommerce.core.web.api.endpoint.customer.CustomerEndpoint,但此实现为空。

您可以扩展该类并添加类似于com.mycompany.api.endpoint.checkout.CheckoutEndpoint的注释,并根据您的需要添加业务逻辑。

据我所见,在broadleaf-3.1.6-GA

中没有一些平台默认实现到平台