当集成贝宝在 Spring 启动应用程序我得到这个问题
Error starting ApplicationContext. To display the auto-configuration report re-run your application with 'debug' enabled.
***************************
APPLICATION FAILED TO START
***************************
Description:
Field apiContext in com.bookstore.service.impl.PaypalService required a bean of type 'com.paypal.base.rest.APIContext' that could not be found.
Action:
Consider defining a bean of type 'com.paypal.base.rest.APIContext' in your configuration.
我的主菜看起来像
@SpringBootApplication
@EnableAutoConfiguration
@Configuration
@ComponentScan
public class BookstoreAngularApplication implements CommandLineRunner {
错误指向我使用paypal的api上下文的服务
import com.paypal.api.payments.Transaction;
import com.paypal.base.rest.APIContext;
import com.paypal.base.rest.PayPalRESTException;
@Autowired
private APIContext apiContext;
public Payment createPayment(
Double total,
String currency,
PaypalPaymentMethod method,
PaypalPaymentIntent intent,
String description,
String cancelUrl,
String successUrl) throws PayPalRESTException{
Amount amount = new Amount();
amount.setCurrency(currency);
amount.setTotal(total.toString());
Transaction transaction = new Transaction();
transaction.setDescription(description);
transaction.setAmount(amount);
List<Transaction> transactions = new ArrayList<>();
transactions.add(transaction);
Payer payer = new Payer();
payer.setPaymentMethod(method.toString());
Payment payment = new Payment();
payment.setIntent(intent.toString());
payment.setPayer(payer);
payment.setTransactions(transactions);
RedirectUrls redirectUrls = new RedirectUrls();
redirectUrls.setCancelUrl(cancelUrl);
redirectUrls.setReturnUrl(successUrl);
payment.setRedirectUrls(redirectUrls);
return payment.create(apiContext);
}
public Payment executePayment(String paymentId, String payerId) throws PayPalRESTException{
Payment payment = new Payment();
payment.setId(paymentId);
PaymentExecution paymentExecute = new PaymentExecution();
paymentExecute.setPayerId(payerId);
return payment.execute(apiContext, paymentExecute);
}
我有项目运行贝宝sdk正常工作,但当我把它添加到我的应用程序我恶心这个贝宝api上下文错误
2条答案
按热度按时间fzwojiic1#
这是因为我放置配置文件的包的名称必须类似于基本包。*我在一开始就放置了一个快速名称,我现在修复了它,使其成为包名称,就像其他扫描的包一样,工作正常
rmbxnbpk2#
我从来没用过
com.paypal.base.rest.APIContext
但是您的错误消息提示您需要类型为的beanAPIContext
所以它可以自动连线。考虑在配置中定义类型为“com.paypal.base.rest.apicontext”的bean。
尝试将bean添加到配置类(如果仍然使用基于.xml的配置,则添加到xml文件)。阅读
com.paypal.base.rest.APIContext
文档我猜您需要以下内容:试试这个,看看能不能用。请记住
AppConfiguration
必须放在BookstoreAngularApplication
这样就可以加载了。下面是一个例子。稍后,阅读
"yourClientID", "yourClientSecret", "yourMode"
从配置文件而不是硬编码。