我想弄清楚是否可以将JSON对象传递给其他API,或者将多个参数传递给该API?以及如何在Spring中读取这些参数?让我们假设网址如下所示:
实施例1, http://localhost:8080/api/v1/mno/objectKey?id=1&name=saif
传递JSON对象是否有效,如下面的url?
例2 http://localhost:8080/api/v1/mno/objectKey/{"id":1, "name":"Saif"}
问题:
1)是否可以像往常一样将JSON对象传递给url?
2)我们如何传递和解析Ex.1中的参数?
我试着写一些方法来实现我的目标,但找不到合适的解决方案?
我试图将JSON对象作为@RequestParam传递
http://localhost:8080/api/v1/mno/objectKey?id=1 出现意外错误 (type=Unsupported Media Type, status=415). Content type 'null' not supported
http://localhost:8080/api/v1/mno/objectKey/id=1 出现意外错误 (type=Not Found, status=404). No message available
http://localhost:8080/api/v1/mno/objectKey/%7B%22id%22:1%7D 出现意外错误 (type=Not Found, status=404). No message available
@RequestMapping(value="mno/{objectKey}",
method = RequestMethod.GET,
consumes="application/json")
public List<Book> getBook4(@RequestParam ObjectKey objectKey) {
...
}
Run Code Online (Sandbox Code Playgroud)
我试图将JSON对象作为@PathVariable传递
@RequestMapping(value="ghi/{objectKey}",method = RequestMethod.GET)
public List<Book> getBook2(@PathVariable ObjectKey objectKey) {
...
}
Run Code Online (Sandbox Code Playgroud)
我创建了这个对象来保存id参数和其他参数,如名称等....
class ObjectKey{
long id;
public long getId() {
return id;
}
public void setId(long id) …Run Code Online (Sandbox Code Playgroud) 这是遇到的“魔术”的处理方法:该代码在Ubuntu 16.04,Ubuntu 15.10上可以正常工作,但有错误:
org.openqa.selenium.WebDriverException: Error: Permission denied to access property "navigator"
org.openqa.selenium.WebDriverException: Error: Permission denied to access property "document"
Run Code Online (Sandbox Code Playgroud)
我有以下代码:
import geb.spock.GebReportingSpec
import geb.waiting.WaitTimeoutException
class LoginSpec extends GebReportingSpec {
def "#0 go to login FB"() {
when:
browser.go("https://www.facebook.com/")
then:
delay(9)
if (browser.title != "Facebook") {
browser.title == "Facebook - Log In or Sign Up"
browser.currentUrl == "https://www.facebook.com/"
waitFor(30){
$("#loginbutton").size() == 1
}
$("#email").value(Config.FB_USERNAME)
$("#pass").value(Config.FB_PASSWORD)
println("entered credentials")
$("#loginbutton").click()
}
delay(9)
}
void delay(Long seconds){
try {
waitFor(seconds){ }
} catch (WaitTimeoutException …Run Code Online (Sandbox Code Playgroud) firefox selenium selenium-firefoxdriver selenium-webdriver geckodriver
我尝试使用Spring javamail从Heroku发送电子邮件,但出现错误。
我的代码:
import org.springframework.mail.MailSender;
import org.springframework.mail.SimpleMailMessage;
import org.springframework.mail.javamail.JavaMailSenderImpl;
import org.springframework.stereotype.Service;
@Service("mailService")
public class JavaMailerServiceImpl {
private MailSender mailSender;
public JavaMailerServiceImpl(JavaMailSenderImpl mailSender) {
this.mailSender = mailSender;
}
public void sendMail(String to, String subject, String body){
SimpleMailMessage message = new SimpleMailMessage();
message.setTo(to);
message.setSubject(subject);
message.setText(body);
mailSender.send(message);
}
}
Run Code Online (Sandbox Code Playgroud)
豆子:
<bean id="mailSender" class="org.springframework.mail.javamail.JavaMailSenderImpl">
<property name="host" value="smtp.gmail.com"/>
<property name="port" value="587"/>
<property name="username" value="**********@gmail.com"/>
<property name="password" value="********"/>
<property name="javaMailProperties">
<props>
<prop key="mail.transport.protocol">smtp</prop>
<prop key="mail.smtp.auth">true</prop>
<prop key="mail.smtp.starttls.enable">true</prop>
<prop key="mail.debug">true</prop>
</props>
</property>
</bean> …Run Code Online (Sandbox Code Playgroud)